d1006144

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Drop the language extensions nothing in their module uses

Eleven pragmas across eleven modules, found by removing each one and
typechecking what was left. Six are ScopedTypeVariables on an extraction
module, where the annotation on the listify predicate binds no type variable,
which is the same dead pragma the prefix rule's own module carried. The rest
are DeriveGeneric and OverloadedStrings in modules that derive nothing and
write no literal.

TypeOperators looked dead in four more modules and is not: removing it leaves
the tilde of a type equality that persistent and esqueleto generate, which
GHC answers with a warning today and an error later. A sweep that reads exit
codes alone cannot see that, which is why this one was read rather than
trusted.

Finding them needed a standalone ghc that could see the project's packages,
which cabal gives with --write-ghc-environment-files=always. What it leaves
at the root holds absolute paths into one machine's cabal store, so the
ignore file now says so.
e2e-added-rule-is-rune2e-artifacts-are-reade2e-choices-are-found-beside-the-repositorye2e-cleane2e-dirty-package-is-judged-failinge2e-dirty-project-is-judged-failinge2e-dirty-report-is-readablee2e-disabled-rule-is-not-rune2e-incomplete-artifacts-are-a-failuree2e-judging-nothing-failse2e-named-packages-are-every-packagee2e-no-packages-is-judged-failinge2e-no-store-paths-in-findingse2e-paths-are-repository-relativee2e-withheld-facts-faile2e-wrong-source-mapping-is-a-complainthlint-checkhopinionpre-commitreleaseshellweeder-checkconfiguredevShelldefaultx86_64-linux