/*-
 * #%L
 * Java implementation of the SciJava Ops matching engine.
 * %%
 * Copyright (C) 2016 - 2024 SciJava developers.
 * %%
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * 
 * 1. Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 * #L%
 */
/*
 * This is autogenerated source code -- DO NOT EDIT. Instead, edit the
 * corresponding template in templates/ and rerun bin/generate.groovy.
 */

package org.scijava.ops.engine.adapt.lift;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.scijava.function.Inplaces;
import org.scijava.ops.engine.AbstractTestEnvironment;
import org.scijava.ops.spi.OpCollection;
import org.scijava.ops.spi.OpField;

/**
 * Tests the adaptation of {@link Inplaces} running on a type into
 * {@link Inplaces} running on arrays of that type.
 * 
 * @author Gabriel Selzer
 */
public class InplaceToArraysTest extends AbstractTestEnvironment implements OpCollection {

	@BeforeAll
	public static void addNeededOps() {
		ops.register(new InplaceToArraysTest());
		ops.register(new InplaceToArrays());
	}

	/**
	 * @author Gabriel Selzer
	 */
	private class NumericalThing {

		private int number;

		public NumericalThing(int num) {
			number = num;
		}
		
		public void addNumber(int other) {
			number += other;
		}

		public int getNumber() {
			return number;
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity1<NumericalThing> alterThing1 = (
		io) -> {
		io.addNumber(0);
	};

	@Test
	public void testInplace1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io) //
			.mutate();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(1 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity2_1<NumericalThing, NumericalThing> alterThing2_1 = (
		io, in2) -> {
		io.addNumber(in2.getNumber());
	};

	@Test
	public void testInplace2_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(2 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity2_2<NumericalThing, NumericalThing> alterThing2_2 = (
		in1, io) -> {
		io.addNumber(in1.getNumber());
	};

	@Test
	public void testInplace2_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(2 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity3_1<NumericalThing, NumericalThing, NumericalThing> alterThing3_1 = (
		io, in2, in3) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
	};

	@Test
	public void testInplace3_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(3 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity3_2<NumericalThing, NumericalThing, NumericalThing> alterThing3_2 = (
		in1, io, in3) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
	};

	@Test
	public void testInplace3_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(3 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity3_3<NumericalThing, NumericalThing, NumericalThing> alterThing3_3 = (
		in1, in2, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
	};

	@Test
	public void testInplace3_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(3 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity4_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing4_1 = (
		io, in2, in3, in4) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
	};

	@Test
	public void testInplace4_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(4 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity4_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing4_2 = (
		in1, io, in3, in4) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
	};

	@Test
	public void testInplace4_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(4 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity4_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing4_3 = (
		in1, in2, io, in4) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
	};

	@Test
	public void testInplace4_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(4 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity4_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing4_4 = (
		in1, in2, in3, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
	};

	@Test
	public void testInplace4_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(4 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity5_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing5_1 = (
		io, in2, in3, in4, in5) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
	};

	@Test
	public void testInplace5_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(5 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity5_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing5_2 = (
		in1, io, in3, in4, in5) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
	};

	@Test
	public void testInplace5_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(5 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity5_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing5_3 = (
		in1, in2, io, in4, in5) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
	};

	@Test
	public void testInplace5_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(5 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity5_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing5_4 = (
		in1, in2, in3, io, in5) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
	};

	@Test
	public void testInplace5_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(5 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity5_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing5_5 = (
		in1, in2, in3, in4, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
	};

	@Test
	public void testInplace5_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(5 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity6_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing6_1 = (
		io, in2, in3, in4, in5, in6) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
	};

	@Test
	public void testInplace6_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(6 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity6_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing6_2 = (
		in1, io, in3, in4, in5, in6) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
	};

	@Test
	public void testInplace6_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(6 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity6_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing6_3 = (
		in1, in2, io, in4, in5, in6) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
	};

	@Test
	public void testInplace6_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(6 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity6_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing6_4 = (
		in1, in2, in3, io, in5, in6) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
	};

	@Test
	public void testInplace6_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(6 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity6_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing6_5 = (
		in1, in2, in3, in4, io, in6) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
	};

	@Test
	public void testInplace6_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(6 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity6_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing6_6 = (
		in1, in2, in3, in4, in5, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
	};

	@Test
	public void testInplace6_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(6 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity7_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_1 = (
		io, in2, in3, in4, in5, in6, in7) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace7_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity7_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_2 = (
		in1, io, in3, in4, in5, in6, in7) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace7_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity7_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_3 = (
		in1, in2, io, in4, in5, in6, in7) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace7_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity7_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_4 = (
		in1, in2, in3, io, in5, in6, in7) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace7_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity7_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_5 = (
		in1, in2, in3, in4, io, in6, in7) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace7_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity7_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_6 = (
		in1, in2, in3, in4, in5, io, in7) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace7_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity7_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing7_7 = (
		in1, in2, in3, in4, in5, in6, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
	};

	@Test
	public void testInplace7_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(7 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity8_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_1 = (
		io, in2, in3, in4, in5, in6, in7, in8) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity8_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_2 = (
		in1, io, in3, in4, in5, in6, in7, in8) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity8_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_3 = (
		in1, in2, io, in4, in5, in6, in7, in8) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity8_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_4 = (
		in1, in2, in3, io, in5, in6, in7, in8) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity8_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_5 = (
		in1, in2, in3, in4, io, in6, in7, in8) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity8_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_6 = (
		in1, in2, in3, in4, in5, io, in7, in8) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity8_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_7 = (
		in1, in2, in3, in4, in5, in6, io, in8) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace8_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity8_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing8_8 = (
		in1, in2, in3, in4, in5, in6, in7, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
	};

	@Test
	public void testInplace8_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(8 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity9_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity9_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity9_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity9_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity9_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity9_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity9_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity9_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace9_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity9_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing9_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
	};

	@Test
	public void testInplace9_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(9 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity10_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity10_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity10_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity10_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity10_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity10_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity10_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity10_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity10_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace10_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity10_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing10_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
	};

	@Test
	public void testInplace10_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(10 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity11_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity11_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity11_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity11_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity11_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity11_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity11_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity11_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity11_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity11_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io, in11) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace11_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io, input) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI11")
	public final Inplaces.Arity11_11<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing11_11 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
	};

	@Test
	public void testInplace11_11ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI11") //
			.input(input, input, input, input, input, input, input, input, input, input, io) //
			.mutate11();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(11 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity12_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity12_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity12_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity12_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity12_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity12_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity12_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity12_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity12_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input, input, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity12_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io, in11, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io, input, input) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI11")
	public final Inplaces.Arity12_11<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_11 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, io, in12) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace12_11ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI11") //
			.input(input, input, input, input, input, input, input, input, input, input, io, input) //
			.mutate11();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI12")
	public final Inplaces.Arity12_12<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing12_12 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
	};

	@Test
	public void testInplace12_12ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI12") //
			.input(input, input, input, input, input, input, input, input, input, input, input, io) //
			.mutate12();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(12 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity13_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity13_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity13_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity13_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity13_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity13_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity13_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity13_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input, input, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity13_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input, input, input, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity13_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io, in11, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io, input, input, input) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI11")
	public final Inplaces.Arity13_11<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_11 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, io, in12, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_11ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI11") //
			.input(input, input, input, input, input, input, input, input, input, input, io, input, input) //
			.mutate11();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI12")
	public final Inplaces.Arity13_12<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_12 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, io, in13) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace13_12ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI12") //
			.input(input, input, input, input, input, input, input, input, input, input, input, io, input) //
			.mutate12();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI13")
	public final Inplaces.Arity13_13<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing13_13 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
	};

	@Test
	public void testInplace13_13ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI13") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, io) //
			.mutate13();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(13 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity14_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity14_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity14_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity14_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity14_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity14_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity14_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input, input, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity14_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input, input, input, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity14_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input, input, input, input, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity14_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io, in11, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io, input, input, input, input) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI11")
	public final Inplaces.Arity14_11<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_11 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, io, in12, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_11ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI11") //
			.input(input, input, input, input, input, input, input, input, input, input, io, input, input, input) //
			.mutate11();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI12")
	public final Inplaces.Arity14_12<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_12 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, io, in13, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_12ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI12") //
			.input(input, input, input, input, input, input, input, input, input, input, input, io, input, input) //
			.mutate12();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI13")
	public final Inplaces.Arity14_13<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_13 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, io, in14) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace14_13ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI13") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, io, input) //
			.mutate13();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI14")
	public final Inplaces.Arity14_14<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing14_14 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
	};

	@Test
	public void testInplace14_14ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI14") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, input, io) //
			.mutate14();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(14 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity15_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity15_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity15_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity15_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity15_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity15_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input, input, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity15_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input, input, input, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity15_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input, input, input, input, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity15_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input, input, input, input, input, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity15_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io, in11, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io, input, input, input, input, input) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI11")
	public final Inplaces.Arity15_11<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_11 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, io, in12, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_11ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI11") //
			.input(input, input, input, input, input, input, input, input, input, input, io, input, input, input, input) //
			.mutate11();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI12")
	public final Inplaces.Arity15_12<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_12 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, io, in13, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_12ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI12") //
			.input(input, input, input, input, input, input, input, input, input, input, input, io, input, input, input) //
			.mutate12();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI13")
	public final Inplaces.Arity15_13<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_13 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, io, in14, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_13ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI13") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, io, input, input) //
			.mutate13();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI14")
	public final Inplaces.Arity15_14<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_14 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, io, in15) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace15_14ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI14") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, input, io, input) //
			.mutate14();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI15")
	public final Inplaces.Arity15_15<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing15_15 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
	};

	@Test
	public void testInplace15_15ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI15") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, input, input, io) //
			.mutate15();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(15 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI1")
	public final Inplaces.Arity16_1<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_1 = (
		io, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_1ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI1") //
			.input(io, input, input, input, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate1();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI2")
	public final Inplaces.Arity16_2<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_2 = (
		in1, io, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_2ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI2") //
			.input(input, io, input, input, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate2();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI3")
	public final Inplaces.Arity16_3<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_3 = (
		in1, in2, io, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_3ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI3") //
			.input(input, input, io, input, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate3();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI4")
	public final Inplaces.Arity16_4<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_4 = (
		in1, in2, in3, io, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_4ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI4") //
			.input(input, input, input, io, input, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate4();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI5")
	public final Inplaces.Arity16_5<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_5 = (
		in1, in2, in3, in4, io, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_5ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI5") //
			.input(input, input, input, input, io, input, input, input, input, input, input, input, input, input, input, input) //
			.mutate5();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI6")
	public final Inplaces.Arity16_6<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_6 = (
		in1, in2, in3, in4, in5, io, in7, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_6ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI6") //
			.input(input, input, input, input, input, io, input, input, input, input, input, input, input, input, input, input) //
			.mutate6();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI7")
	public final Inplaces.Arity16_7<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_7 = (
		in1, in2, in3, in4, in5, in6, io, in8, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_7ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI7") //
			.input(input, input, input, input, input, input, io, input, input, input, input, input, input, input, input, input) //
			.mutate7();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI8")
	public final Inplaces.Arity16_8<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_8 = (
		in1, in2, in3, in4, in5, in6, in7, io, in9, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_8ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI8") //
			.input(input, input, input, input, input, input, input, io, input, input, input, input, input, input, input, input) //
			.mutate8();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI9")
	public final Inplaces.Arity16_9<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_9 = (
		in1, in2, in3, in4, in5, in6, in7, in8, io, in10, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_9ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI9") //
			.input(input, input, input, input, input, input, input, input, io, input, input, input, input, input, input, input) //
			.mutate9();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI10")
	public final Inplaces.Arity16_10<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_10 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, io, in11, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_10ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI10") //
			.input(input, input, input, input, input, input, input, input, input, io, input, input, input, input, input, input) //
			.mutate10();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI11")
	public final Inplaces.Arity16_11<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_11 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, io, in12, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_11ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI11") //
			.input(input, input, input, input, input, input, input, input, input, input, io, input, input, input, input, input) //
			.mutate11();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI12")
	public final Inplaces.Arity16_12<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_12 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, io, in13, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_12ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI12") //
			.input(input, input, input, input, input, input, input, input, input, input, input, io, input, input, input, input) //
			.mutate12();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI13")
	public final Inplaces.Arity16_13<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_13 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, io, in14, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_13ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI13") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, io, input, input, input) //
			.mutate13();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI14")
	public final Inplaces.Arity16_14<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_14 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, io, in15, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in15.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_14ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI14") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, input, io, input, input) //
			.mutate14();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI15")
	public final Inplaces.Arity16_15<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_15 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, io, in16) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in16.getNumber());
	};

	@Test
	public void testInplace16_15ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI15") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, input, input, io, input) //
			.mutate15();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

	@OpField(names = "test.liftArrayI16")
	public final Inplaces.Arity16_16<NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing, NumericalThing> alterThing16_16 = (
		in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15, io) -> {
		io.addNumber(in1.getNumber());
		io.addNumber(in2.getNumber());
		io.addNumber(in3.getNumber());
		io.addNumber(in4.getNumber());
		io.addNumber(in5.getNumber());
		io.addNumber(in6.getNumber());
		io.addNumber(in7.getNumber());
		io.addNumber(in8.getNumber());
		io.addNumber(in9.getNumber());
		io.addNumber(in10.getNumber());
		io.addNumber(in11.getNumber());
		io.addNumber(in12.getNumber());
		io.addNumber(in13.getNumber());
		io.addNumber(in14.getNumber());
		io.addNumber(in15.getNumber());
	};

	@Test
	public void testInplace16_16ToArrays() {
		NumericalThing[] input = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
		NumericalThing[] io = { new NumericalThing(0), new NumericalThing(1),
			new NumericalThing(2) };
			ops.op("test.liftArrayI16") //
			.input(input, input, input, input, input, input, input, input, input, input, input, input, input, input, input, io) //
			.mutate16();

		for (int i = 0; i < input.length; i++) {
			Assertions.assertEquals(16 * i, io[i].getNumber());
		}
	}

}
