docs: public Polygon mutate(final float rate, final float magnitude) {
  		final Random random = RandomRegistry.getRandom();
  		final Polygon mutated = new Polygon(length());
  
  		for (int i = 0; i < _data.length; ++i) {
  			if (random.nextFloat() < rate) {
  				mutated._data[i] =
  					clamp(_data[i] + (random.nextFloat()*2F - 1F)*magnitude);
  			} else {
  				mutated._data[i] = _data[i];
  			}
  		}
  
  		return mutated;
  	}