Or rather, why isn\'t (==) usable on every data type? Why do we have to derive Eq ourseleves? In other languages, such as Python, C++, and surely o
(==)
Eq
Because the way that values are compared may be custom. For example, certain "fields" might be excluded from comparison.
Or consider a type representing a case-insensitive string. Such a type would not want to compare the Chars it contains for identity.