docs: public static Codec<int[], IntegerGene> ofVector(final IntRange... domains) {
  		if (domains.length == 0) {
  			throw new IllegalArgumentException("Domains must not be empty.");
  		}
  
  		final ISeq<IntegerChromosome> chromosomes = Stream.of(domains)
  			.peek(Objects::requireNonNull)
  			.map(IntegerGene::of)
  			.map(IntegerChromosome::of)
  			.collect(ISeq.toISeq());
  
  		return Codec.of(
  			Genotype.of(chromosomes),
  			gt -> {
  				final int[] args = new int[gt.length()];
  				for (int i = gt.length(); --i >= 0;) {
  					args[i] = gt.getChromosome(i).getGene().intValue();
  				}
  				return args;
  			}
  		);
  	}