Keeping bytes and strings separated is actually the simpler situation. What it is not, is easy, because it takes a little bit of learning. Sadly many people prefer easy over simple.
It is only hard if you used it like that before. I'm betting people that come directly to Python 3.5 will find the difference blatantly obvious. I remember many years ago, coming from C++ boost's String that I was taken aback about Python's laissez-faire approach to strings. Python 3 fixes that.
5 years ago I started learning programming with Python 3.0 and Python 2 just seems like Python 3 + many warts and lack of new features.
EDIT: changed phrasing
Could you recommend a learning resource for Python 5? I also tried learning it years ago but eventually went back to 3.0.
Whoops, the phrasing was a bit ambiguous. See the new edited comment.