Reworked __eq__