On Wed, 25 Nov 2020 at 11:21, Spiwack, Arnaud <arnaud.spiwack@tweag.io> wrote:

## OverloadedX

These extensions can confuse type inference, yielding ambiguous type
variables message. And as much as I like them, I don't think it's safe
to include them yet. Not until we have a reasonable story for
defaulting literals.

OverloadedLabels: no
OverloadedLists: no
OverloadedStrings: no

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)

I don't have much experience with OverloadedLists, but I'd be prepared to believe that it's a similar story there too.

OverloadedLabels is really a new syntactic form and doesn't fall into the same category as the other two here.
 
Cheers
Simon