code: @SafeVarargs
  	public static <G extends Gene<?, G>, C extends Comparable<? super C>>
  	Builder<G, C> builder(
  		final Function<? super Genotype<G>, ? extends C> ff,
  		final Chromosome<G> chromosome,
  		final Chromosome<G>... chromosomes
  	) {
  		return new Builder<>(Genotype.of(chromosome, chromosomes), ff);
  	}
docs: Create a new evolution {@code Engine.Builder} with the given fitness
  function and chromosome templates.
  
  @param ff the fitness function
  @param chromosome the first chromosome
  @param chromosomes the chromosome templates
  @param <G> the gene type
  @param <C> the fitness function result type
  @return a new engine builder
  @throws java.lang.NullPointerException if one of the arguments is
  {@code null}.