// PruneDefaults prunes default values according to the schema and according to // the ObjectMeta definition of the running server. It mutates the passed schema. func PruneDefaults(s *structuralschema.Structural) error { … } type pruner … func (p *pruner) pruneDefaults(s *structuralschema.Structural, f SurroundingObjectFunc) (changed bool, err error) { … }