Enum instances updated to comply with the behaviour that
Haskell 98 specifies. Notable changes,
* [a..b] is not the empty list when a>b any longer.
* [x..] and [x,y..] for Enum Int are now bounded lists.
The first change is might be worth bearing in mind when converting
1.4 code to Haskell 98; functions may have made use of the
old behaviour.