Are you implying that we should deprecate the `in` operator for strings
No, we should definitely keep the `in` operator. We can revisit the best wording for the error/warning message later, my point is just that it should be more considerate to beginners than "TypeError: 'str' object is not iterable".
Strings *are* collections:
Technically, a [collection]( https://docs.python.org/3/library/collections.abc.html#collections.abc.Colle...) is an iterable sized container, so if strings aren't iterable, they aren't collections.
Sometimes we treat strings as if they were pseudo-atomic. And sometimes we treat tuples as pseudo-atomic records too. Should tuples no longer be iterable? I don't think so.
We treat strings as pseudo-atomic FAR more than we treat tuples as such. If tuples weren't iterable then tuple unpacking wouldn't work and all hell would break loose. I don't think this comparison works.