instance Ord Triangle where
Failure < Failure = False
Failure < _ = True
Equilateral < Failure = False
Equilateral < Equilateral = False
Equilateral < _ = True
Isosceles < Scalene = True
Isosceles < _ = False
Scalene < _ = False
(I tried submitting this to beginners@haskell.org, but even though I've signed up for that mailing list, I got a bounce-back saying that I needed admin approval to submit anything to that list, and I haven't heard from an admin, so I'm posting it here.)