nge (Range f t) (Range _ t')
  | t <= t'   = Range f t'
                -- stick with the old Range
  | otherwise = Range f t



a
addRange (Range f t) (Range _ t')
  | t <= t'   = Range f t'
                -- stick with the old Range
  | otherwise = Range f t
addRange (Range f t) (Range _ t')
  | t <= t'   = Range f t'
                -- stick with the old Range
  | otherwise = Range f t