> For example "a" + 1 is an error, why is u"a" + "s" not an error?
"a" + b"s" is an error in Python 3.
"a" + b"s" is an error in Python 3.
Static types solve it earlier though, especially for little-exercised code paths which could be forgotten or missed in testing.