On Thu, Jun 17, 2021 at 4:13 AM Eric Seidel <eric@seidel.io> wrote:
It is specified to be a static error, and the solution is either

- define your own, consistent default rules for C and D in the current module, OR
- ascribe types to the ambiguous use-sites and bypass default resolution entirely.

Indeed. I'm convinced.

Since the Prelude is implicitly imported without an import list, both A and C would let you avoid an extra import. Same goes for Prelude replacements.

I fully agree with this statement. (I don't think that I have a preference between A and C)