Suppose I define a simple type like this:
data Object = House | Table | Book
To be able to use Objects as keys for a map, the type has to be derived from Eq and Ord:
data Object = House | Table | Book deriving (Eq, Ord)
What is the reason for this restriction? Why do the keys of a map need to be orderable?