Exactly. Its clear distinction between (unicode) strings and (binary) data is Python 3's biggest plus, imho. No more randomly popping up errors because something is trying to handle the binary data in your str as string; instead you'll get a nice type error. I don't understand how people do _not_ find that terribly annoying with Python 2. (seriously, tell me)