Bounded package:clash-prelude

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.
Addition that clips to maxBound on overflow, and minBound on underflow
Multiplication that clips to maxBound on overflow, and minBound on underflow
Subtraction that clips to maxBound on overflow, and minBound on underflow