Your shim layer would have to make assumptions on the encoding of your strings, which can lead to nasty bugs.<p>And also handle reading from files correctly, or list file names from the os, or anything that communicates outside of the python interpreter.<p>The main reason why python 3 was created was to manage these complexities, and even then some people[1] say it wasn&#x27;t done properly.<p>[1] <a href="http:&#x2F;&#x2F;lucumr.pocoo.org&#x2F;2014&#x2F;5&#x2F;12&#x2F;everything-about-unicode&#x2F;" rel="nofollow">http:&#x2F;&#x2F;lucumr.pocoo.org&#x2F;2014&#x2F;5&#x2F;12&#x2F;everything-about-unicode&#x2F;</a>