I don't know if core devs believe it is wrong, but many of the suggestions for change here seem to express that opinion. I try to stay away from "wrong" & "right", but one of the reasons I dislike the current behavior is that it's an issue when trying to traverse a nested graph of collections. Currently, it is necessary to specifically test whether a node is an instance of `str` and stop drilling down in that case. One could say that's a minor issue, but it's a minor issue that affects a lot of development efforts and has do be worked around separately by each developer who encounters it. Another issue is one of consistency. A string is not a sequence of length-1 strings. The length-1 strings created by iterating are more like slices than members.