IDEA: I could support `str | list[str]` without incorrect iteration semantics...
IDEA: I could support `str | list[str]` without incorrect iteration semantics by creating a whole new type that wraps both, delegates calls to str or list as appropriate and doesn't allow iteration into chars in str.
And mypy will hate it. `str | list[str]` is just messed up man.
Self-replies
Given how common `str | list[str]` show up, I think #python allowing str to be iterable was a mistake.