This implies that it’s the string itself that’s different - that some strings are iterable and some are not. Much more commonly, what happens is that one situation wants to treat strings as iterable and another situation wants to treat them as non-iterable.
If the idea of two operators doesn’t make sense, would it be possible to have “type subtraction” rather than using the and-not notation? So Sequence - Sequence[int]
would mean “a sequence of anything that isn’t integers”. That way, there’s no semantics needed for the negation without the intersection. Downside: It’s less neatly matched with the “this or that” notation for type union.