Bounded package:mixed-types-num

The Bounded class is used to name the upper and lower limits of a type. Ord is not a superclass of Bounded since types that are not totally ordered may also have upper and lower bounds. The Bounded class may be derived for any enumeration type; minBound is the first constructor listed in the data declaration and maxBound is the last. Bounded may also be derived for single-constructor datatypes whose constituent types are in Bounded.
Utility function to perform bounds checking as part of a conversion. Does this be examining the bounds of the destination type, converting to the type of the source via safeConvert, comparing to the source value. Results in an error if the conversion is out of bounds.