 These @-f\<blah\>@ flags can all be reversed with @-fno-\<blah\>@
fFlags :: [FlagSpec GeneralFlag]
fFlags = [
  ( "error-spans",                      Opt_ErrorSpans, nop ),
  ( "print-explicit-foralls",           Opt_PrintExplicitForalls, nop ),
  ( "strictness",                       Opt_Strictness, nop ),
  ( "late-dmd-anal",                    Opt_LateDmdAnal, nop ),
  ( "specialise",                       Opt_Specialise, nop ),
  ( "float-in",                         Opt_FloatIn, nop ),
  ( "static-argument-transformation",   Opt_StaticArgumentTransformation, nop ),
  ( "full-laziness",                    Opt_FullLaziness, nop ),
  ( "liberate-case",                    Opt_LiberateCase, nop ),
  ( "spec-constr",                      Opt_SpecConstr, nop ),
  ( "cse",                              Opt_CSE, nop ),
  ( "pedantic-bottoms",                 Opt_PedanticBottoms, nop ),
  ( "ignore-interface-pragmas",         Opt_IgnoreInterfacePragmas, nop ),
  ( "omit-interface-pragmas",           Opt_OmitInterfacePragmas, nop ),
  ( "expose-all-unfoldings",            Opt_ExposeAllUnfoldings, nop ),
  ( "do-lambda-eta-expansion",          Opt_DoLambdaEtaExpansion, nop ),
  ( "ignore-asserts",                   Opt_IgnoreAsserts, nop ),
  ( "do-eta-reduction",                 Opt_DoEtaReduction, nop ),
  ( "case-merge",                       Opt_CaseMerge, nop ),
  ( "unbox-strict-fields",              Opt_UnboxStrictFields, nop ),
  ( "unbox-small-strict-fields",        Opt_UnboxSmallStrictFields, nop ),
  ( "dicts-cheap",                      Opt_DictsCheap, nop ),
  ( "excess-precision",                 Opt_ExcessPrecision, nop ),
  ( "eager-blackholing",                Opt_EagerBlackHoling, nop ),
  ( "print-bind-result",                Opt_PrintBindResult, nop ),
  ( "force-recomp",                     Opt_ForceRecomp, nop ),
  ( "hpc-no-auto",                      Opt_Hpc_No_Auto, nop ),
  ( "rewrite-rules",                    Opt_EnableRewriteRules, useInstead "enable-rewrite-rules" ),
  ( "enable-rewrite-rules",             Opt_EnableRewriteRules, nop ),
  ( "break-on-exception",               Opt_BreakOnException, nop ),
  ( "break-on-error",                   Opt_BreakOnError, nop ),
  ( "print-evld-with-show",             Opt_PrintEvldWithShow, nop ),
  ( "print-bind-contents",              Opt_PrintBindContents, nop ),
  ( "run-cps",                          Opt_RunCPS, nop ),
  ( "run-cpsz",                         Opt_RunCPSZ, nop ),
  ( "vectorise",                        Opt_Vectorise, nop ),
  ( "vectorisation-avoidance",          Opt_VectorisationAvoidance, nop ),
  ( "regs-graph",                       Opt_RegsGraph, nop ),
  ( "regs-iterative",                   Opt_RegsIterative, nop ),
  ( "llvm-tbaa",                        Opt_LlvmTBAA, nop), -- hidden flag
  ( "llvm-pass-vectors-in-regs",        Opt_LlvmPassVectorsInRegisters, nop), -- hidden flag
  ( "irrefutable-tuples",               Opt_IrrefutableTuples, nop ),
  ( "cmm-sink",                         Opt_CmmSink, nop ),
  ( "cmm-elim-common-blocks",           Opt_CmmElimCommonBlocks, nop ),
  ( "omit-yields",                      Opt_OmitYields, nop ),
  ( "simple-list-literals",             Opt_SimpleListLiterals, nop ),
  ( "fun-to-thunk",                     Opt_FunToThunk, nop ),
  ( "gen-manifest",                     Opt_GenManifest, nop ),
  ( "embed-manifest",                   Opt_EmbedManifest, nop ),
  ( "ext-core",                         Opt_EmitExternalCore, nop ),
  ( "shared-implib",                    Opt_SharedImplib, nop ),
  ( "ghci-sandbox",                     Opt_GhciSandbox, nop ),
  ( "ghci-history",                     Opt_GhciHistory, nop ),
  ( "helpful-errors",                   Opt_HelpfulErrors, nop ),
  ( "defer-type-errors",                Opt_DeferTypeErrors, nop ),
  ( "building-cabal-package",           Opt_BuildingCabalPackage, nop ),
  ( "implicit-import-qualified",        Opt_ImplicitImportQualified, nop ),
  ( "prof-count-entries",               Opt_ProfCountEntries, nop ),
  ( "prof-cafs",                        Opt_AutoSccsOnIndividualCafs, nop ),
  ( "hpc",                              Opt_Hpc, nop ),
  ( "pre-inlining",                     Opt_SimplPreInlining, nop ),
  ( "flat-cache",                       Opt_FlatCache, nop ),
  ( "use-rpaths",                       Opt_RPath, nop ),
  ( "kill-absence",                     Opt_KillAbsence, nop),
  ( "kill-one-shot",                    Opt_KillOneShot, nop),
  ( "dicts-strict",                     Opt_DictsStrict, nop ),
  ( "dmd-tx-dict-sel",                  Opt_DmdTxDictSel, nop ),
  ( "loopification",                    Opt_Loopification, nop )
  ]

--
fFlags :: [FlagSpec GeneralFlag]
fFlags = [
  ( "error-spans",                      Opt_ErrorSpans, nop ),
  ( "print-explicit-foralls",           Opt_PrintExplicitForalls, nop ),
  ( "strictness",                       Opt_Strictness, nop ),
  ( "late-dmd-anal",                    Opt_LateDmdAnal, nop ),
  ( "specialise",                       Opt_Specialise, nop ),
  ( "float-in",                         Opt_FloatIn, nop ),
  ( "static-argument-transformation",   Opt_StaticArgumentTransformation, nop ),
  ( "full-laziness",                    Opt_FullLaziness, nop ),
  ( "liberate-case",                    Opt_LiberateCase, nop ),
  ( "spec-constr",                      Opt_SpecConstr, nop ),
  ( "cse",                              Opt_CSE, nop ),
  ( "pedantic-bottoms",                 Opt_PedanticBottoms, nop ),
  ( "ignore-interface-pragmas",         Opt_IgnoreInterfacePragmas, nop ),
  ( "omit-interface-pragmas",           Opt_OmitInterfacePragmas, nop ),
  ( "expose-all-unfoldings",            Opt_ExposeAllUnfoldings, nop ),
  ( "do-lambda-eta-expansion",          Opt_DoLambdaEtaExpansion, nop ),
  ( "ignore-asserts",                   Opt_IgnoreAsserts, nop ),
  ( "do-eta-reduction",                 Opt_DoEtaReduction, nop ),
  ( "case-merge",                       Opt_CaseMerge, nop ),
  ( "unbox-strict-fields",              Opt_UnboxStrictFields, nop ),
  ( "unbox-small-strict-fields",        Opt_UnboxSmallStrictFields, nop ),
  ( "dicts-cheap",                      Opt_DictsCheap, nop ),
  ( "excess-precision",                 Opt_ExcessPrecision, nop ),
  ( "eager-blackholing",                Opt_EagerBlackHoling, nop ),
  ( "print-bind-result",                Opt_PrintBindResult, nop ),
  ( "force-recomp",                     Opt_ForceRecomp, nop ),
  ( "hpc-no-auto",                      Opt_Hpc_No_Auto, nop ),
  ( "rewrite-rules",                    Opt_EnableRewriteRules, useInstead "enable-rewrite-rules" ),
  ( "enable-rewrite-rules",             Opt_EnableRewriteRules, nop ),
  ( "break-on-exception",               Opt_BreakOnException, nop ),
  ( "break-on-error",                   Opt_BreakOnError, nop ),
  ( "print-evld-with-show",             Opt_PrintEvldWithShow, nop ),
  ( "print-bind-contents",              Opt_PrintBindContents, nop ),
  ( "run-cps",                          Opt_RunCPS, nop ),
  ( "run-cpsz",                         Opt_RunCPSZ, nop ),
  ( "vectorise",                        Opt_Vectorise, nop ),
  ( "vectorisation-avoidance",          Opt_VectorisationAvoidance, nop ),
  ( "regs-graph",                       Opt_RegsGraph, nop ),
  ( "regs-iterative",                   Opt_RegsIterative, nop ),
  ( "llvm-tbaa",                        Opt_LlvmTBAA, nop), -- hidden flag
  ( "llvm-pass-vectors-in-regs",        Opt_LlvmPassVectorsInRegisters, nop), -- hidden flag
  ( "irrefutable-tuples",               Opt_IrrefutableTuples, nop ),
  ( "cmm-sink",                         Opt_CmmSink, nop ),
  ( "cmm-elim-common-blocks",           Opt_CmmElimCommonBlocks, nop ),
  ( "omit-yields",                      Opt_OmitYields, nop ),
  ( "simple-list-literals",             Opt_SimpleListLiterals, nop ),
  ( "fun-to-thunk",                     Opt_FunToThunk, nop ),
  ( "gen-manifest",                     Opt_GenManifest, nop ),
  ( "embed-manifest",                   Opt_EmbedManifest, nop ),
  ( "ext-core",                         Opt_EmitExternalCore, nop ),
  ( "shared-implib",                    Opt_SharedImplib, nop ),
  ( "ghci-sandbox",                     Opt_GhciSandbox, nop ),
  ( "ghci-history",                     Opt_GhciHistory, nop ),
  ( "helpful-errors",                   Opt_HelpfulErrors, nop ),
  ( "defer-type-errors",                Opt_DeferTypeErrors, nop ),
  ( "building-cabal-package",           Opt_BuildingCabalPackage, nop ),
  ( "implicit-import-qualified",        Opt_ImplicitImportQualified, nop ),
  ( "prof-count-entries",               Opt_ProfCountEntries, nop ),
  ( "prof-cafs",                        Opt_AutoSccsOnIndividualCafs, nop ),
  ( "hpc",                              Opt_Hpc, nop ),
  ( "pre-inlining",                     Opt_SimplPreInlining, nop ),
  ( "flat-cache",                       Opt_FlatCache, nop ),
  ( "use-rpaths",                       Opt_RPath, nop ),
  ( "kill-absence",                     Opt_KillAbsence, nop),
  ( "kill-one-shot",                    Opt_KillOneShot, nop),
  ( "dicts-strict",                     Opt_DictsStrict, nop ),
  ( "dmd-tx-dict-sel",                  Opt_DmdTxDictSel, nop ),
  ( "loopification",                    Opt_Loopification, nop )
  ]
fFlags = [
  ( "error-spans",                      Opt_ErrorSpans, nop ),
  ( "print-explicit-foralls",           Opt_PrintExplicitForalls, nop ),
  ( "strictness",                       Opt_Strictness, nop ),
  ( "late-dmd-anal",                    Opt_LateDmdAnal, nop ),
  ( "specialise",                       Opt_Specialise, nop ),
  ( "float-in",                         Opt_FloatIn, nop ),
  ( "static-argument-transformation",   Opt_StaticArgumentTransformation, nop ),
  ( "full-laziness",                    Opt_FullLaziness, nop ),
  ( "liberate-case",                    Opt_LiberateCase, nop ),
  ( "spec-constr",                      Opt_SpecConstr, nop ),
  ( "cse",                              Opt_CSE, nop ),
  ( "pedantic-bottoms",                 Opt_PedanticBottoms, nop ),
  ( "ignore-interface-pragmas",         Opt_IgnoreInterfacePragmas, nop ),
  ( "omit-interface-pragmas",           Opt_OmitInterfacePragmas, nop ),
  ( "expose-all-unfoldings",            Opt_ExposeAllUnfoldings, nop ),
  ( "do-lambda-eta-expansion",          Opt_DoLambdaEtaExpansion, nop ),
  ( "ignore-asserts",                   Opt_IgnoreAsserts, nop ),
  ( "do-eta-reduction",                 Opt_DoEtaReduction, nop ),
  ( "case-merge",                       Opt_CaseMerge, nop ),
  ( "unbox-strict-fields",              Opt_UnboxStrictFields, nop ),
  ( "unbox-small-strict-fields",        Opt_UnboxSmallStrictFields, nop ),
  ( "dicts-cheap",                      Opt_DictsCheap, nop ),
  ( "excess-precision",                 Opt_ExcessPrecision, nop ),
  ( "eager-blackholing",                Opt_EagerBlackHoling, nop ),
  ( "print-bind-result",                Opt_PrintBindResult, nop ),
  ( "force-recomp",                     Opt_ForceRecomp, nop ),
  ( "hpc-no-auto",                      Opt_Hpc_No_Auto, nop ),
  ( "rewrite-rules",                    Opt_EnableRewriteRules, useInstead "enable-rewrite-rules" ),
  ( "enable-rewrite-rules",             Opt_EnableRewriteRules, nop ),
  ( "break-on-exception",               Opt_BreakOnException, nop ),
  ( "break-on-error",                   Opt_BreakOnError, nop ),
  ( "print-evld-with-show",             Opt_PrintEvldWithShow, nop ),
  ( "print-bind-contents",              Opt_PrintBindContents, nop ),
  ( "run-cps",                          Opt_RunCPS, nop ),
  ( "run-cpsz",                         Opt_RunCPSZ, nop ),
  ( "vectorise",                        Opt_Vectorise, nop ),
  ( "vectorisation-avoidance",          Opt_VectorisationAvoidance, nop ),
  ( "regs-graph",                       Opt_RegsGraph, nop ),
  ( "regs-iterative",                   Opt_RegsIterative, nop ),
  ( "llvm-tbaa",                        Opt_LlvmTBAA, nop), -- hidden flag
  ( "llvm-pass-vectors-in-regs",        Opt_LlvmPassVectorsInRegisters, nop), -- hidden flag
  ( "irrefutable-tuples",               Opt_IrrefutableTuples, nop ),
  ( "cmm-sink",                         Opt_CmmSink, nop ),
  ( "cmm-elim-common-blocks",           Opt_CmmElimCommonBlocks, nop ),
  ( "omit-yields",                      Opt_OmitYields, nop ),
  ( "simple-list-literals",             Opt_SimpleListLiterals, nop ),
  ( "fun-to-thunk",                     Opt_FunToThunk, nop ),
  ( "gen-manifest",                     Opt_GenManifest, nop ),
  ( "embed-manifest",                   Opt_EmbedManifest, nop ),
  ( "ext-core",                         Opt_EmitExternalCore, nop ),
  ( "shared-implib",                    Opt_SharedImplib, nop ),
  ( "ghci-sandbox",                     Opt_GhciSandbox, nop ),
  ( "ghci-history",                     Opt_GhciHistory, nop ),
  ( "helpful-errors",                   Opt_HelpfulErrors, nop ),
  ( "defer-type-errors",                Opt_DeferTypeErrors, nop ),
  ( "building-cabal-package",           Opt_BuildingCabalPackage, nop ),
  ( "implicit-import-qualified",        Opt_ImplicitImportQualified, nop ),
  ( "prof-count-entries",               Opt_ProfCountEntries, nop ),
  ( "prof-cafs",                        Opt_AutoSccsOnIndividualCafs, nop ),
  ( "hpc",                              Opt_Hpc, nop ),
  ( "pre-inlining",                     Opt_SimplPreInlining, nop ),
  ( "flat-cache",                       Opt_FlatCache, nop ),
  ( "use-rpaths",                       Opt_RPath, nop ),
  ( "kill-absence",                     Opt_KillAbsence, nop),
  ( "kill-one-shot",                    Opt_KillOneShot, nop),
  ( "dicts-strict",                     Opt_DictsStrict, nop ),
  ( "dmd-tx-dict-sel",                  Opt_DmdTxDictSel, nop ),
  ( "loopification",                    Opt_Loopification, nop )
  ]