Actually the Python powers-that-be say that raising errors in comparison operators is good, and in Python 3 they changed the way comparison works to raise errors:

$ python3
>>> "a" > 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()

Here the equality operator is meant to compare sequences. If by mistake `other` is not a sequence, I want an error to appear, not getting False. I could change the AssertionError with a TypeError, though.