I'm not sure having a Bounded instance makes sense for `Interval`, especially since `min` and `max` are left undefined in the `Ord` instance. I'm not even sure I approve of the `Ord` instance as it stands, because `i1 > i2 == False` does not imply `i1 <= i2`. This is something which the new `ival'` assumes, so that seems to introduce some inconsistency in the library.

I'm not opposed to changing the library, but changes should leave it with a consistent API and set of assumptions, and it appears that these changes don't do that. It would help if these assumptions were more clearly documented.