Hey Jonathon,<div><br></div><div>Based on the last email you sent, it seems like you're not quite satisfied with the responses.</div><div><br></div><div>And for good reason.</div><div><br></div><div>It turns out that there is more to </div><div><br></div><div>length (2,3) = 1</div><div>sum (2,3) = product (2,3) = 3</div><div><br></div><div>than just the offending Traversable instance of the tuple pair (,).</div><div><br></div><div>Would you mind resending your first email of Apr 23 to the haskell-cafe mailing list?</div><div><br></div><div>If you do so, I'll contribute by opening a discussion of the Functor instance.</div><div><br></div><div><br></div><div>Best,</div><div>Kim-Ee</div><div><br><br>On Sunday, April 23, 2017, Jonathon Delgado <<a href="mailto:voldermort@hotmail.com">voldermort@hotmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I've seen many threads, including the one going on now, about why we need to have:<br>
<br>
length (2,3) = 1<br>
product (2,3) = 3<br>
sum (2,3) = 3<br>
or (True,False) = False<br>
<br>
but the justifications all go over my head. Is there a beginner-friendly explanation for why such seemingly unintuitive operations should be allowed by default?<br>
______________________________<wbr>_________________<br>
Beginners mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'Beginners@haskell.org')">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/beginners</a><br>
</blockquote></div><br><br>-- <br>-- Kim-Ee<br>