code: @VisibleForTesting
    public FeatureSet with(Set<Feature> newFeatures) {
      return new FeatureSet(union(features, newFeatures));
    }
docs: Returns a feature set combining all the features from {@code this} and {@code newFeatures}.