__eq__ needs to check for __class__, too