docs: public static <G extends Gene<?, G>, C extends Comparable<? super C>>
  	Collector<EvolutionResult<G, C>, ?, ISeq<Phenotype<G, C>>>
  	toParetoSet(
  		final IntRange size,
  		final Comparator<? super C> dominance,
  		final ElementComparator<? super C> comparator,
  		final ElementDistance<? super C> distance,
  		final ToIntFunction<? super C> dimension
  	) {
  		requireNonNull(size);
  		requireNonNull(dominance);
  		requireNonNull(distance);
  
  		if (size.getMin() < 1) {
  			throw new IllegalArgumentException(format(
  				"Minimal pareto set size must be greater than zero: %d",
  				size.getMin()
  			));
  		}
  
  		return Collector.of(
  			() -> new Front<G, C>(
  				size, dominance, comparator, distance, dimension),
  			Front::add,
  			Front::merge,
  			Front::toISeq
  		);
  	}