Update "stolen syntax" section (#8575)
Fix documentation of FlexibleContexts (#8574)
Fix loopification with profiling and enable it by default (#8275)
Document solution to #8275
Don't explicitly refer to nodeReg in ldvEnterClosure
Move the LDV code below the self-loop label (#8275)
Respect the ordering of -package directives
Revert "Respect the ordering of -package directives"

This commit was accidentally pushed.

This reverts commit 574ccfa231ca05d03d1da9d31e5bc81e74cc5e1e.
TcDeriv: s/isomorphism/coercible

in comments and function names, to use less names for the same thing.
With GND, report Coercible errors earliy

just like other type errors occurring during deriving.
Print nicer error message for Coercible errors

It now reads

   Could not coerce from ‛S a’ to ‛S (NT a)’

and does not mention Coercible any more (as discussed in #8567).
Refactor deferTcSForAllEq: Do not bind, but return EvTerm
Bind monadic stuff in getCoercibleInst locally, not via parameters
Handle Coercible (forall a. t) (forall a. t2) in TcInteract
More links to [Coercible Instances]
Remove dead code orphaned by implementing GND with `coerce`.
Rejig rejigConRes & friends, doing role checks in a second pass.

This commit is just a refactoring, intended to make the use of
rejigConRes (which sorts out the return types of GADT-like constructors)
less delicate. The idea is that, if we perform role checking in a
second top-level pass, we can use checkValidDataCon to check for
valid return types. Previously, checking roles would force the
rejigConRes thunk before we knew that rejigConRes was safe to call!
Fix location of spliced-in role annotations.
Move FunDeps to typecheck

That’s where all its users are...
Note [HyperStr and Use demands]

This note is a summary of an explanation by SPJ to me.