That is a difficult problem. See what was done with pickle py3 -> pickle py2
http://bugs.python.org/issue6784 Its one of those situations where if you support it, it will confuse people. Different behaviors of builtins, if it goes to a py2 client it will behave differently than a py3 client. What happens if someone runs cmp on a python3 object hitting a python2 one. What about __metaclass__ it changes behavior on one and not the other. Even something simple like itertools. If original is on python2 it will work, if one python3 it wont. Might have a use case: Could use python 2 libraries from python3. I'm glad I'm not coding it though. :)
