Change definition order, remove unnecessary conditions.
Ensure equality obeys Liskov.