<div dir="ltr"><div dir="ltr">On Wed, 25 Nov 2020 at 11:21, Spiwack, Arnaud <<a href="mailto:arnaud.spiwack@tweag.io">arnaud.spiwack@tweag.io</a>> wrote:<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><br>## OverloadedX<br><br>These extensions can confuse type inference, yielding ambiguous type<br>variables message. And as much as I like them, I don't think it's safe<br>to include them yet. Not until we have a reasonable story for<br>defaulting literals.<br><br>OverloadedLabels: no<br>OverloadedLists: no<br>OverloadedStrings: no<br></div></div></blockquote><div><br></div><div>For what it's worth, I've been writing code with OverloadedStrings for several years now and in my experience it rarely causes a problem, even for beginners. The context almost always provides enough information to resolve the ambiguity. (admittedly I'm slightly surprised by this too, but experience has convinced me)<br></div><div><br></div><div>I don't have much experience with OverloadedLists, but I'd be prepared to believe that it's a similar story there too.<br></div><div><br></div><div>OverloadedLabels is really a new syntactic form and doesn't fall into the same category as the other two here.<br></div><div> </div><div>Cheers</div><div>Simon</div></div></div>