static <T> Op<T> of(
		final String name,
		final BinaryOperator<T> function
	) {
		requireNonNull(function);
		return of(name, 2, v -> function.apply(v[0], v[1]));
	}
Create a new operation with the given name and binary operation. The
returned {@code Op} will have arity two.

@since 4.0

@param name the name of the returned operation
@param function the used function of the operation
@param <T> the operation type
@return a new operation with the given name and unary operation
@throws NullPointerException if the given {@code name} or {@code function}
        is {@code null}
jenetics.prog/src/main/java/io/jenetics/prog/op/Op.java