code: static Codec<Tuple, DoubleGene> codec(
  		final IntRange v1Domain,
  		final LongRange v2Domain,
  		final DoubleRange v3Domain
  	) {
  		return Codec.of(
  			Genotype.of(
  				DoubleChromosome.of(DoubleRange.of(v1Domain.getMin(), v1Domain.getMax())),
  				DoubleChromosome.of(DoubleRange.of(v2Domain.getMin(), v2Domain.getMax())),
  				DoubleChromosome.of(v3Domain)
  			),
  			gt -> new Tuple(
  				gt.getChromosome(0).getGene().intValue(),
  				gt.getChromosome(1).getGene().longValue(),
  				gt.getChromosome(2).getGene().doubleValue()
  			)
  		);
  	}
docs: The encoding/decoding of the problem domain is defined at ONE place.