On Fri, Oct 8, 2021 at 10:51 AM Ben Gamari <ben@smart-cactus.org> wrote:
In my mind the fundamental problem with this approach is that it means
that a program's acceptance by the compiler hinges upon pragmas.
This is a rather significant departure from the status quo, where one
can remove all pragmas and still end up with a well-formed program.
In this sense, pragmas aren't really part of the Haskell language but
are rather bits of interesting metadata that the compiler may or may not
pay heed to.

I don't believe this is really the status quo.  In particular, the pragmas relating to overlapping instances definitely do affect whether a program type-checks or not.