<div dir="ltr"><div dir="ltr">Am Mo., 23. Nov. 2020 um 16:32 Uhr schrieb Sebastiaan Joosten <<a href="mailto:sjcjoosten%2Bhaskell@gmail.com">sjcjoosten+haskell@gmail.com</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"><div dir="ltr"><div dir="ltr">[...] We obtain: length (a,b) = length [b] = 1<br></div></div></blockquote><div><br></div><div>Quoting my former self (<a href="https://mail.haskell.org/pipermail/libraries/2017-April/027905.html">https://mail.haskell.org/pipermail/libraries/2017-April/027905.html</a>), you get even more "fun" stuff with lots of potential for late-night debugging hours:</div><div><pre style="white-space:pre-wrap;color:rgb(0,0,0)"> maximum (3,2) => 2
minimum (4,5) => 5
sum (6,7) => 7
product (8,9) => 9</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">Yes, you can think of (X, Y) as "Y with context X" or "a one-element container with Y in it", but is this really what comes to your mind first? I still highly doubt that. The Foldable-Traversable-in-Prelude change was largely a good thing, but very surprising (and not really needed) changes coming stealthily with it were only communicated when it was already too late... :-/</font></pre></div></div></div>