Interval datatype and interval arithmetic for Haskell