@mdboom - no, it has to call itself: the reason we can get here is if, e.g., one does `Quantity - TimeDelta`. For this case, python first gives `Quantity` a chance, looking up its `__sub__` method. It should raise `NotImplemented` (it doesn't yet, but it should), as it doesn't know how to add to a `TimeDelta`. Then, python checks whether `TimeDelta` has a `__rsub__` method, and gives that a chance: but of course this then should use its own method, as for this case we know `other.__sub__` fails.