The __coerce__ method
__coerce__(self, other)
Called to implement mixed-mode
numeric arithmetic. Should either
return a 2-tuple containing self and other converted to a common
numeric type, or None if conversion is impossible. When the common
type would be the type of other, it is sufficient to return None,
since the interpreter will also ask the other object to attempt a
coercion (but sometimes, if the implementation of the other type
cannot be changed, it is useful to do the conversion to the other type
here). A return value of NotImplemented is equivalent to returning
None.