In python 2 and python 3, string and unicode is handled in very different ways.
py3: str is unicode (no such type), it is not bytes.
py2: str is not unicode, it is (aliased by) bytes.
Because of this, while Thrift RPC API handles them as str for both cases, it is unicode for python3 users but bytes for python2 users.
So a user who starts using Thrift + python2 is likely to write code that passes bytes to Thrift API.
The code is broken when she/he wants to use the code with Thrift + python3.
We should avoid this by changing this now before the first release of Thrift + Python3.