properly handle merging other keys in optional_features as well (their values must match)