The python documentation mentions that if you override __eq__ and the object is immutable, you should also override __hash__ in order for the class to
__eq__
__hash__
Is that the equivalent of this one-liner eq?
def __eq__(self, other): return type(other) is type(self) and (self.a == other.a) and (self.b == other.b)