docs: public static <G extends Gene<?, G>, C extends Comparable<? super C>, T>
  	Collector<EvolutionResult<G, C>, ?, T>
  	toBestResult(final Function<Genotype<G>, T> decoder) {
  		requireNonNull(decoder);
  
  		return Collector.of(
  			MinMax::<EvolutionResult<G, C>>of,
  			MinMax::accept,
  			MinMax::combine,
  			mm -> mm.getMax() != null
  				? mm.getMax().getBestPhenotype() != null
  					? decoder.apply(mm.getMax().getBestPhenotype().getGenotype())
  					: null
  				: null
  		);
  	}