docs: @SuppressWarnings("deprecation")
  	protected MutatorResult<Phenotype<G, C>> mutate(
  		final Phenotype<G, C> phenotype,
  		final long generation,
  		final double p,
  		final Random random
  	) {
  		return mutate(phenotype.getGenotype(), p, random)
  			.map(gt -> phenotype.newInstance(gt, generation));
  	}