<div dir="ltr"><div dir="ltr">Am So., 14. Nov. 2021 um 20:05 Uhr schrieb Olaf Klinke <<a href="mailto:olf@aatal-apotheke.de">olf@aatal-apotheke.de</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">That module defines two intervals to be equal if their bounds are<br>
equal, but to be unequal only if they are disjoint.</blockquote><div><br></div><div>Well, this is simply a broken implementation. Quick question: Is the Ord instance lawful or not? Hard to tell... (at least without pencil & paper)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> In my eyes this speaks for the proposal, because the library author would have been<br>
unable to write the broken instance. [...]<br></blockquote><div><br></div><div>But this is an extremely weak argument for the proposal: One can easily write broken instances even with a single (==) method, e.g. violating symmetry etc.  As another example: Given some e.g. Monad instance, can one quickly see if it is lawful? I very much doubt so, unless one tries to prove it. Laws of type classes are very much "outside of the Haskell language", anyway, so I see nothing special for Eq.</div></div></div>