Just to keep this discussion as clear as possible Mark, it was your first option that I suggest is needed.
When that is done (as it was for a subclass of float in 2.6.6) it is possible for the author of the subclass to implement commutative binary operations (like + and * that must behave the same regardless of argument order). Otherwise (as far as I can see) this cannot be done.
Removed file: http://bugs.python.org/file19820/unnamed
_______________________________________
Python tracker <report@bugs.python.org>
<http://bugs.python.org/issue5211>
_______________________________________