In OpenAPI 3.1, JSON Schema can have a type that is an array.
- If the array has only one value that is not null, treat as if the type was just a string
- If the array has only one value that is null, in v3/v2 emit as nullable/x-nullable and emit no type
- If the array has two values where one is null, then in v3/v2 emit as nullable/x-nullable and convert type to string of other value.
- If the array has two values where neither is null, or more than two values, then in v3/v2 do not emit the type field.  By omitting the type field we keep the schema from creating false negatives and it is more likely that downstream tooling will flag the issue.