Dear All,

I am trying to produce a Map, where the (tricky) idea is that the key is a pair, (t1, t2), and the key is considered identical under ordering. Thus:

(t1, t2) is the same as (t2, t1) but
(t1, t3) is not the same as (t1,t2).

This LOOKS like a equality definition. However, the Map key typeclass is defined as Ord, which requires me to define compare:
instance Ord Edge where
  (Edge s1 _) `compare` (Edge s2 _) = s1 `compare` s2

I am a bit stuck on how to use compare to define this type of eqlaity - any pointers very gratefully received.
BW,
Matt