h&/       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                          ! ! ! ! ! ! ! ! ! " "" Safe-Inferred%&retrieOnly returns located pat if there is a genuine location available.retrie5Will always give a location, but it may be noSrcSpan. `cbagdfejihmlkponsrqvutwzxy{~}|`cbagdfejihmlkponsrqvutwzxy{~}| Safe-Inferred1   Safe-Inferred5retrieEnvironment used to implement alpha-equivalence checking. As we pass a binder we map it to a de-bruijn index. When we later encounter a variable occurrence, we look it up in the map, and if present, use the index for matching, rather than the name.retrie!Name supply for de-bruijn indicesretrie-Map from OccName of binder to de-bruijn indexretrie0Initial index offset, see Note [AlphaEnv Offset]retrie'For internal use of PatternMap methods.retrieFor external use to build an initial AlphaEnv for mMatch. We add local bindings to the AlphaEnv and track an offset which we subtract in lookupAlphaEnv. This prevents locally-bound variable occurrences from unifying with free variables in the pattern. Safe-Inferred6retrie"Pretty print location of the file.retrieGet lines covering span and replace span with replacement string.retrie2Return HashMap from line number to line of a file. Safe-Inferred58 retrie0 is a set of variable names. If you enable the OverloadedLists language extension, you can construct using a literal list of strings.retrie Convert to a .retrieConstruct from GHC's s.retrieConstruct from s.retrieThe empty set.retrieExistence check.retrie Set union.retrieRemove a set of s from the set.retrieConvert to a list.   Safe-Inferred;retrieTraversal strategy. Given a rewrite on the node and a rewrite on the node's children, define a composite rewrite.retrieContext update: Given current context, child number, and parent, create new contextretrieMonadic rewrite with contextretrie7Monadic traversal with pruning and context propagation.retrie3Monadic query with pruning and context propagation.retriePerform a top-down traversal.retriePerform a bottom-up traversal.retrie with arguments flipped and providing zero-based index of child to mapped function.retrieTraversal order (see  and )retrieShort-circuiting stop conditionretrieContext update functionretrieContext-aware rewriteretrieShort-circuiting stop conditionretrieContext update functionretrieContext-aware query   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY[Z]\_^   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY[Z]\_^ Safe-Inferred%&568D{ retrie= packages an AST fragment with the annotations necessary to  or  transform that AST.retrieExamine the actual AST.retrieName supply used by ghc-exactprint to generate unique locations.retrie Construct an . This should really only be used in the parsing functions, hence the scary name. Don't use this unless you know what you are doing.retrie Transform an  thing.retrie Graft an  thing into the current transformation. The resulting AST will have proper annotations within the  computation. For example: mkDeclList :: IO (Annotated [LHsDecl GhcPs]) mkDeclList = do ad1 <- parseDecl "myId :: a -> a" ad2 <- parseDecl "myId x = x" transformA ad1 $ \ d1 -> do d2 <- graftA ad2 return [d1, d2]retrie Annotated [a] -> m (Annotated a, Annotated [a]) splitHead l = fmap astA $ transformA l $ \(x:xs) -> do y <- pruneA x ys <- pruneA xs return (y, ys)retrie9Trim the annotation data to only include annotations for ast. (Usually, the annotation data is a superset of what is necessary.) Also freshens all source locations, so filename information in annotation keys is discarded.Note: not commonly needed, but useful if you want to inspect the annotation data directly and don't want to wade through a mountain of output.retrieExactprint an  thing.retrie showAst an  thing.  Safe-InferredForetrieReturns predicate which says whether filepath is ignored by VCS.retrieRead .gitignore in dir and if successful, return predicate for whether given repo path should be ignored.retrieRead .hgignore in dir and if successful, return predicate for whether given repo path should be ignored.retrieLike  , but rethrows async exceptions.   Safe-Inferred%&(I:retrieRe-associate AST using given . (The GHC parser has no knowledge of operator fixity, because that requires running the renamer, so it parses all operators as left-associated.)retrieParse import statements. Each string must be a full import statement, including the keyword 'import'. Supports full import syntax.retrieParse a top-level .retrieParse a .retrieParse a .retrieParse a  .retrieParse a .retrie monad version of retrieOverall applicationretrie Left child  Safe-InferredM retrie)Sum type of possible substitution values.retrieretrieretrieretrieAlpha-renamed binder.retrieA , is essentially a map from variable name to .retrieThe empty substitution.retrie#Lookup a value in the substitution.retrieExtend the substitution. If the key already exists, its value is replaced.retrieDelete from the substitution.retrieFold over the substitution.    Safe-InferredNsretrieThis is an over-approximation, but that is fine for our purposes.  Safe-Inferred 28N  Safe-Inferred28OT Safe-Inferred"%&(28Pretrie2Determine if two expressions are alpha-equivalent. Safe-Inferred 268TretrieThe pattern map for .retrie.Class of types which can be injected into the  type.retrieInject an AST into retrieProject an AST from a 0. Can fail if universe contains the wrong type.retrie%Get the original location of the AST.retrie>A sum type to collect all possible top-level rewritable types.retrieExactprint an annotated .retriePrimitive exactprint for .   Safe-Inferred%&)*2568g,'retrie/The result of matching the left-hand side of a .retrieThe right-hand side of a .retrie'The expression for the right-hand side.retrie0Imports to add whenever a rewrite is successful.retrieDependent rewrites to introduce whenever a rewrite is successful. See Note [tDependents]retrieA  allows the user to specify custom logic to modify the result of matching the left-hand side of a rewrite (the ). The  generated by this function is used to effect the resulting AST rewrite.For example, this transformer looks at the matched expression to build the resulting expression: fancyMigration :: MatchResultTransformer fancyMigration ctxt matchResult | MatchResult sub t <- matchResult , HoleExpr e <- lookupSubst sub "x" = do e' <- ... some fancy IO computation using 'e' ... return $ MatchResult (extendSubst sub "x" (HoleExpr e')) t | otherwise = NoMatch main :: IO () main = runScript $ \opts -> do rrs <- parseRewrites opts [Adhoc "forall x. ... = ..."] return $ apply [ setRewriteTransformer fancyMigration rr | rr <- rrs ] Since the  can also modify the , you can construct an entirely novel right-hand side, add additional imports, or inject new dependent rewrites.retrieWrapper that allows us to attach extra derived information to the  supplied by the $. Saves the user from specifying it.retrieA  is a complied , much like a  is a compiled .retrieA  is a  specialized to  results, which have all the information necessary to replace one expression with another.retrie is a compiled . Several queries can be compiled and then merged into a single compiled  via /.retrie is the primitive way to specify a matchable pattern (quantifiers and expression). Whenever the pattern is matched, the associated result will be returned.retrie%Precedence of parent node in the AST.retrieParent has precedence info.retrie$We are a pattern in a left-hand-sideretrieParent is HsAppsTyretrie1Based on parent, we should never add parentheses.retrie maintained by AST traversals.retrieStack of bindings of which we are currently in the right-hand side. Used to avoid introducing self-recursion.retrieThe rewriter we apply to determine whether to add context-dependent rewrites to . We keep this separate because most of the time it is empty, and we don't want to match every rewrite twice.retrieCurrent FixityEnv.retrie2In-scope local bindings. Used to detect shadowing.retriePrecedence of parent (app = HasPrec 10, infix op = HasPrec $ op precedence)retrie.The rewriter we should use to mutate the code.retrieIf present, update substitution with binder renamings. Used to implement capture-avoiding substitution.retrie Compile a  into a .retrie Compile a  into a  within a given local scope. Useful for introducing local matchers which only match within a given local scope.retrieRun a  on an expression in the given  and return the results from any matches. Results are accompanied by a , which maps  from the original ' to the expressions they unified with.retrieMake a 7 from given quantifiers and left- and right-hand sides.retrieAdd imports to a . Whenever the  successfully rewrites an expression, the imports are inserted into the enclosing module.retrieSet the  for a .retrie Compile a  into a .retrie Compile a  into a  with a given local scope. Useful for introducing local matchers which only match within a given local scope.retrie%The default transformer. Returns the  unchanged.retrieRun a  on an expression in the given  and return the ?s from any matches. Takes an extra function for rewriting the , which is run *before* the  is run.retrieFind the first valid match. Runs the user's  and sanity checks the result.retriePretty-print a  for debugging.retrie7Inject a type-specific rewrite into the universal type.retrie8Project a type-specific rewrite from the universal type.retrieFilter a list of rewrites for those that introduce dependent rewrites.77 Safe-Inferred%&hnretrie!Specifies which parser to use in "#. Safe-Inferred%&kretrie'Ground Terms' are variables in the pattern that are not quantifiers. We use a set of ground terms to save time during matching by filtering out files which do not contain all the terms. We store one set of terms per pattern because when filtering we must take care to only filter files which do not match any of the patterns.Example:Patterns of 'forall x. foo (bar x) = ...' and 'forall y. baz (quux y) = ...'groundTerms = [{foo, bar}, {baz, quux}]:Files will be found by unioning results of these commands:grep -R --include "*.hs" -l foo dir | xargs grep -l bar grep -R --include "*.hs" -l baz dir | xargs grep -l quuxIf there are no ground terms (e.g. 'forall f x y. f x y = f y x') we fall back to 'find dir -iname "*.hs"'. This case seems pathological. Safe-Inferred%&(5lretriehsExprNeedsParens is not always up-to-date, so this allows us to override Safe-InferredmHretrie0Compile a list of RULES into a list of rewrites. Safe-Inferredmy Safe-Inferred%&')*m Safe-Inferred%&q retrie%Type of context update functions for apply. When defining your own , you probably want to extend  using SYB combinators such as  and .retrie Default context update function.retrieCreate an empty  with given -, rewriter, and dependent rewrite generator.retrieAdd dependent rewrites to  if necessary.retrieAdd set of binders to .retrieAdd set of binders to .retrieUpdate the Context's substitution appropriately for a set of binders. Returns a new Context and a potentially alpha-renamed set of binders.retrie Check if RdrName is in FreeVars.If so, return a pair of it and its new name (Right). If not, return it unchanged (Left).retrie>Given a RdrName, rename it to something not in given FreeVars. x => x1 x1 => x2 x9 => x10etc.Only works on unqualified RdrNames. This is fine, as we only use this to rename local binders. Safe-Inferred(rretriePerform the given  on an AST, avoiding variable capture by alpha-renaming binders as needed. Safe-Inferred%&uFretrieUsed as the writer type during matching to indicate whether any change to the module should be made.retrieRecords a replacement made. In cases where we cannot use ghc-exactprint to print the resulting AST (e.g. CPP modules), we fall back on splicing strings. Can also be used by external tools (search, linters, etc).retrie Specializes / to each of the AST types that retrie supports.retrieGeneric replacement function. This is the thing that actually runs the  carried by the context, instantiates templates, handles parens and other whitespace bookkeeping, and emits resulting s.   Safe-Inferred"%&w(retrieStack type used to keep track of how many #ifs we are nested into. Controls whether we emit lines into each version of the module.retrie9Tree representing the module. Each #endif becomes a Node.retrie'Build CPPTree from lines of the module.retrie1Expand CPPTree into 2^h-1 versions of the module. retrieimports and their annotationsretrie target module Safe-Inferred %&)*8\ retrieWe want a right-associated chain of binds, because then we can inspect the instructions in a list-like fashion. We could re-associate in the Monad instance, but that leads to a quadratic bind operation. Instead, we use the view technique.;Right-associativity is guaranteed because the left side of   can never be another ! computation. It is a primitive  .retrieThe  monad is essentially  ?, plus state containing the module that is being transformed. It is run once per target file.It is special because it also allows Retrie to extract a set of  from the  computation without evaluating it.Retrie uses the ground terms to select which files to target. This is the key optimization that allows Retrie to handle large codebases.Note: Due to technical limitations, we cannot extract ground terms if you use   before calling one of , , or  at least once. This will cause Retrie to attempt to parse every module in the target directory. In this case, please add a call to  before the call to  .retrieRun the  monad.retrie*Helper to extract the ground terms from a  computation. retrie(Reflect the reified monadic computation.retrieUse the given queries/rewrites to select files for rewriting. Does not actually perform matching. This is useful if the queries/rewrites which best determine which files to target are not the first ones you run, and when you need to  % before running any queries/rewrites.retrieApply a set of rewrites. By default, rewrites are applied top-down, pruning the traversal at successfully changed AST nodes. See .retrie>Apply a set of rewrites with a custom context-update function.retrie9Apply a set of rewrites with a custom traversal strategy.retrieApply a set of rewrites with custom context-update and traversal strategy.retrieQuery the AST. Each match returns the context of the match, a substitution mapping quantifiers to matched subtrees, and the query's value.retrie4Query the AST with a custom context update function.retrie If the first ; computation makes a change to the module, run the second  computation.retrieIterate given  computation until it no longer makes changes, or N times, whichever happens first.retrieAdd imports to the module.retrieTop-down traversal that does not descend into changed AST nodes. Default strategy used by . retrieMonad transformer shuffling. retrieLike   , but builds   instead of  :, takes argument in WriterT layer, and specialized to (). Safe-Inferred%& Safe-Inferred"%& retrie%Possible ways to specify rewrites to  parseRewrites.retrie Equation in RULES-format. (e.g. "forall x. succ (pred x) = x"!) Will be applied left-to-right.retrie:Equation in pattern-synonym format, _without_ the keyword pattern.retrie7Equation in type-synonym format, _without_ the keyword 'type'.retrieFold a function definition. The inverse of unfolding/inlining. Replaces instances of the function body with calls to the function.retrieApply a GHC RULE right-to-left.retrieApply a GHC RULE left-to-right.retrie#Apply a type synonym right-to-left.retrie#Apply a type synonym left-to-right.retrie)Unfold, or inline, a function definition.retrieUnfold a pattern synonymretrieFold a pattern synonym, replacing instances of the rhs with the synonymretrieA qualified name. (e.g. "Module.Name.functionName") Safe-Inferred%&v retrieFind the first valid match. Runs the user's  and sanity checks the result. Safe-Inferred3  Safe-Inferred"%&3E!retrie6Options that have been parsed, but not fully resolved.retrie6Imports specified by the command-line flag '--import'.retrie=Function used to colorize results of certain execution modes.retrieRewrites which are applied to the left-hand side of the actual rewrites.retrieControls behavior of apply. See  . retrieSpecific files that should be ignored. Paths should be relative to  . retrieFixity information for operators used during parsing (of rewrites and target modules). Defaults to base fixities. retrieIterate the given rewrites or Retrie computation up to this many times. Iteration may stop before the limit if no changes are made during a given iteration. retrie1Do not apply any of the built in elaborations in . retrieWhether to randomize the order of target modules before rewriting them. retrie;Rewrites specified by command-line flags such as '--adhoc'. retriePaths that should be roundtripped through ghc-exactprint to debug. Specified by the '--roundtrip' command-line flag. retrieWhether to concurrently rewrite target modules. Mostly useful for viewing debugging output without interleaving it. retrie>Directory that contains the code being targeted for rewriting. retrie*Instead of targeting all Haskell files in  ;, only target specific files. Paths should be relative to  . retrieHow much should be output on stdout. retrie&Controls the ultimate action taken by apply. The default action is  . retrie"Pretend to do rewrites, show diff. retriePerform rewrites. retrie.Print the resulting expression for each match. retriePrint the matched expressions. retrieCommand-line options. retrieParse options using the given . retrieCreate ?s from string specifications of rewrites. We expose this from Retrie! with a nicer type signature as  $). We have it here so we can use it with . retrie9Construct default options for the given target directory. retrie%Get the options parser. The returned  should be passed to   to get final  . retrie Parser for . retrieResolve  into  . Parses rewrites into 3s, parses imports, validates options, and extends  5 with any declared fixities in the target directory. retrieFind all fixity declarations in targetDir and add them to fixity env. retrie /, but concurrency and input order controled by  . retrie'Find all files to target for rewriting. retrieReturn a chain of grep commands to find files with relevant groundTerms If filesGiven is empty, use all *.hs files under targetDir retrie6run a command with a list of files as quoted arguments%   %     ! Safe-Inferred%&> retrieCallback function to actually write the resulting file back out. Is given list of changed spans, module contents, and user-defined data. retrie4Define a custom refactoring script. A script is an   action that defines a  computation. The  ( action is run once, and the resulting  computation is run once for each target file. Typically, rewrite parsing/construction is done in the  / action, so it is performed only once. Example: module Main where main :: IO () main = runScript $ \opts -> do rr <- parseRewrites opts ["forall f g xs. map f (map g xs) = map (f . g) xs"] return $ apply rr6To run the script, compile the program and execute it. retrieDefine a custom refactoring script and run it with modified options. This is the same as  , but the returned   will be used during rewriting. retrie2Implements retrie's iteration and execution modes. retriePrimitive means of running a  computation. retrieRun a  computation on the given parsed module, writing changes with the given write action. retrie.Write action which counts changed lines using diff retrie9Print the lines before replacement and after replacement. retriePrint lines that match the query and highligh the matched string. retriePrint only replacement. retrie%&?%&@%&A%&B%&C%&D%&E%&F%&G%&H%&I%&J%&K%&L%&M%&N%&O%&P%&Q%&R%&S%&T%&U%&V%&W%&X%&Y%&Z%&[%&\%&]%&^%&_%&`%&a%&b%&c%&d%&e%&f%gh%gi%gj%gk%gl%gm%gn%go%gp%gq%gr%gs%gt%gu%gv%gw%gx%gy%gz%g{%g|%g}%g~%(%(%(%(%(%(%%%%%%                                                                                               "                         ! ! ! ! ! ! ! ! ! "$"#                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       -                                                                            %%%*+% % !%#retrie-1.2.1-8rB71lJ4a8I6xKfaCEGcpp Retrie.SYB Retrie.GHC Retrie.FixityRetrie.ExactPrintRetrie.AlphaEnv Retrie.PrettyRetrie.QuantifiersRetrie.ExactPrint.Annotated Retrie.UtilRetrie.SubstitutionRetrie.FreeVarsRetrie.PatternMap.ClassRetrie.PatternMap.BagRetrie.PatternMap.InstancesRetrie.Universe Retrie.Types Retrie.QueryRetrie.GroundTerms Retrie.ExprRetrie.Rewrites.TypesRetrie.Rewrites.FunctionRetrie.Rewrites.PatternsRetrie.Context Retrie.SubstRetrie.Replace Retrie.CPP Retrie.MonadRetrie.Rewrites.RulesRetrie.RewritesRetrie.Elaborate Retrie.DebugRetrie.Options Retrie.RunRetrie parseQueries parseRewritesbase Data.DataDataData.Typeable.InternalTypeableghc-prim GHC.TypesTyConDataTypeNoRepIntRepFloatRepCharRepAlgRepDataReptoConstrgunfoldgmapTgmapQrgmapQlgmapQigmapQgmapMpgmapMogmapMgfoldl dataTypeOf dataCast2 dataCast1 IntConstr FloatConstr CharConstr AlgConstr ConstrRepConstrConIndex tyconUQname tyconModule showConstr repConstr readConstr mkRealConstr mkNoRepTypemkIntegralConstr mkIntType mkFloatType mkDataType mkConstrTagmkConstr mkCharType mkCharConstrmaxConstrIndex isNorepType isAlgType indexConstr fromConstrM fromConstrB fromConstr dataTypeRep dataTypeNamedataTypeConstrs constrType constrRep constrIndex constrFixity constrFields Data.TypeableTypeRep typeRepTyContypeRepFingerprint typeRepArgstypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOf splitTyConApp showsTypeRep rnfTypeRepmkFunTygcast2gcast1gcast funResultTyeqTcast tyConPackage tyConName tyConModuletyConFingerprint trLiftedReprnfTyCon Data.ProxyProxyData.Type.EqualityHRefl:~~:Refl:~:ghcGHC.Driver.PprshowSDocGHC.Types.Basic TypeLevel KindLevel TypeOrKind UnboxedTupleConstraintTuple BoxedTuple TupleSortTopLevel NotTopLevel TopLevelFlagNoTailCallInfoAlwaysTailCalled TailCallInfo NotSwapped IsSwappedSwapFlag SucceededFailed SuccessFlagImplicitSpliceExplicitSpliceSpliceExplicitFlagRuleNameFunLikeConLike RuleMatchInfoRepArity Recursive NonRecursiveRecFlag NotPromoted IsPromoted PromotionFlagPprPrecPhaseNumOverlaps Overlapping Overlappable NoOverlap Incoherent OverlapMode overlapMode isSafeOverlap OverlapFlag Generated FromSourceOrigin OneShotLam NoOneShotInfo OneShotInfoocc_tailocc_rules_onlyocc_n_br occ_int_cxt occ_in_lamOneOccManyOccsIAmDeadIAmALoopBreakerOccInfoCRightCLeft LeftOrRight JoinArityNotInteresting IsInterestingInterestingCxt IntWithInf NotInsideLam IsInsideLam InsideLamNoUserInlinePragNoInlineInline Inlinable InlineSpecinl_srcinl_satinl_rule inl_inlineinl_act InlinePragma IsFunctionIsDataFunctionOrData FullArgCounttoEPfromEP VanillaDM GenericDM DefMethSpecConTagZConTagPhase InitialPhase FinalPhase CompilerPhase BranchCountUnboxedBoxedBoxityArityalignmentBytes Alignment NeverActive FinalActive AlwaysActive ActiveBefore ActiveAfter ActivationzapOccTailCallInfo zapFragileOcc worstOneShotweakLoopBreakerunSwaptupleSortBoxity tupleParenstreatZeroAsInftopPrec tailCallInfo sumParens successIf succeededstrongLoopBreakerstarPrecsigPrecsetOverlapModeMaybesetInlinePragmaRuleMatchInfosetInlinePragmaActivation seqOccInfo pprRuleNamepprInlineDebug pprInlinepprAlternativepickLRopPrec oneBranchnoUserInlineSpec noOneShotInfo noOccInfoneverInlinePragma mkIntWithInf mkAlignment maybeParenisWeakLoopBreaker isTypeLevel isTopLevel isSwappedisStrongLoopBreakerisRec isPromoted isOneShotInfoisOneOcc isNotTopLevelisNonRec isNoOccInfo isNeverActive isManyOccs isKindLevelisInlinePragmaisInlinablePragma isGenerated isFunLikeisDefaultInlinePragma isDeadOcc isConLikeisBoxedisAnyInlinePragmaisAlwaysTailCalledisAlwaysActiveisActive intGtLimitinlinePragmaSpecinlinePragmaSatinlinePragmaRuleMatchInfoinlinePragmaActivationinfinityhasOverlappingFlaghasOverlappableFlaghasNoOneShotInfohasIncoherentFlagfunPrecflipSwapfailed fIRST_TAGdfunInlinePragmadefaultInlinePragma competesWithboxityTupleSort boolToRecFlag bestOneShotappPrecalwaysInlinePragma alignmentOfactiveInFinalPhaseactivateDuringFinalactivateAfterInitialGHC.Types.FixityInfixRInfixNInfixLFixityDirectionFixityGHC.Utils.Outputableppr Outputableghc-boot-th-9.2.4GHC.ForeignSrcLang.TypeForeignSrcLang RawObject LangObjcxxLangObjcLangCxxLangAsmLangC+ghc-exactprint-1.5.0-5mX1oxpIv4zHSKmFXvECkd)Language.Haskell.GHC.ExactPrint.Transform makeDeltaAst' modifyDeclsT modifyValDreplaceDeclsValbindshsDeclsValBindsreplaceDeclsPatBindreplaceDeclsPatBindDhsDeclsPatBindhsDeclsPatBindD insertBefore insertAfter insertAtEnd insertAtStartinsertAtaddCommamnm1m0dnd1d0noAnnSrcSpanDPnnoAnnSrcSpanDP1noAnnSrcSpanDP0noAnnSrcSpanDP anchorEofbalanceCommentsList'balanceCommentsbalanceCommentsListtransferEntryDP' getEntryDPwrapDeclwrapSigdecl2Sig decl2BindcaptureTypeSigSpacingcaptureLineSpacingcaptureMatchLineSpacing captureOrderisUniqueSrcSpanuniqueSrcSpanTlogDataWithAnnsTrlogTrhoistTransformrunTransformFromTrunTransformFrom runTransformT runTransform Transform unTransformT TransformT replaceDeclshsDeclsHasDecls WithoutWhere WithWhereliftT HasTransform*Language.Haskell.GHC.ExactPrint.ExactPrint makeDeltaAst exactPrintshowAstexactsetAnnotationAnchorgetAnnotationEntry ExactPrint$Language.Haskell.GHC.ExactPrint.Dump showAstDataNoBlankSrcSpanBlankSrcSpanFile BlankSrcSpanNoBlankEpAnnotationsBlankEpAnnotations'Language.Haskell.GHC.ExactPrint.Parsers parseModuleLibDir%Language.Haskell.GHC.ExactPrint.UtilshackAnchorToSrcSpanhackSrcSpanToAnchoranchorToEpaLocation addEpAnnLocsetTrailingAnnLoctrailingAnnLoctrailingAnnToAddEpAnn moveAnchorsetAnchorHsModule setAnchorEpaL setAnchorEpa setAnchorAnlocatedAnAnchor name2StringrdrName2String dpFromStringsortAnchorLocated noKWComments isKWComment mkKWCommentsortEpaComments sortComments cmpCommentsnormaliseCommentText mkComment mkLEpaCommentcomment2LEpaComment mkEpaComments tokCommentghcCommentTextinsertCppCommentsisGadt orderByKeyisPointSrcSpan spanLengthbadRealSrcSpanrange2rsrsrs2rangess2range ss2posEndss2posadjustDeltaForOffset undeltaSpanundelta pos2delta ss2deltaStart ss2deltaEndss2delta isGoodDeltawarndebugMdebugPdebugPEnabledFlagdebugEnabledFlag%Language.Haskell.GHC.ExactPrint.TypesshowGhcComment"syb-0.7.2.2-Acq07xXxrPVIapkVV91I9NData.Generics.Twinsgcomparegzipgeq gzipWithQ gzipWithM gzipWithT gmapAccumQ gmapAccumQr gmapAccumQl gmapAccumM gmapAccumA gmapAccumT gfoldlAccumData.Generics.TextgreadgshowsgshowData.Generics.Schemes gfindtype gtypecount gnodecountgcountgdepthglengthgsize synthesize somethinglistifyeverythingWithContext everythingBut everything somewhere everywhereM everywhereBut everywhere' everywhereData.Generics.BuildersconstrsemptyData.Generics.Aliasesext2Bext2Rext2Qext2Mext2Text1Bext1Rext1Qext1Mext1Text1recoverQ recoverMpchoiceQchoiceMporElseextRextBextMpextMextQextText0mkRmkMpmkMmkQmkTGenericTGenericQGenericMGenericBGenericRGeneric unGeneric'Generic'unGTGT GenericT'unGQGQ GenericQ'unGMGM GenericM'RuleInforiName riQuantifiersriLHSriRHScLPatdLPat dLPatUnsaferdrFSfsDot varRdrName tyvarRdrName fixityDeclsruleInforuleBindersToQstyBindersToLocatedRdrNamesoverlapswithin lineCountshowRdrsuniqBag getRealLoc getRealSpan FixityEnvlookupOplookupOpRdrName mkFixityEnvextendFixityEnv ppFixityEnv$fMonoidFixityEnv$fSemigroupFixityEnvAlphaEnvalphaEnvOffset emptyAlphaEnvextendAlphaEnvInternalextendAlphaEnv pruneAlphaEnvlookupAlphaEnv ColoriseFunnoColoraddColor ppSrcSpanppRepllinesMapstrip QuantifiersqSetmkQsmkFSQsemptyQsisQunionQexceptQqList$fShowQuantifiers$fIsListQuantifiersStrategy GenericMCQ GenericCU GenericMCeverywhereMWithContextButeverythingMWithContextButtopDownbottomUp AnnotatedastAseedA AnnotatedStmt AnnotatedPatAnnotatedModuleAnnotatedImportsAnnotatedImportAnnotatedHsTypeAnnotatedHsExprAnnotatedHsDecl unsafeMkA transformAgraftApruneAtrimA setEntryDPAprintAprintA'showAstA$fMonoidAnnotated$fSemigroupAnnotated$fDefaultAnnotated$fTraversableAnnotated$fFoldableAnnotated$fFunctorAnnotated$fDataAnnotated VerbositySilentNormalLoud debugPrint vcsIgnorePred gitIgnorePred hgIgnorePred ignoreWorkerhandler putErrStrLntrySync missingSyntax $fEqVerbosity$fOrdVerbosity$fShowVerbositydebugfix swapEntryDPTparseContentNoFixity parseContent parseImports parseDecl parseExpr parsePattern parseStmt parseType debugDumptransferEntryAnnsTtransferEntryDPT addAllAnnsTtransferAnchorisComma hasComments transferAnnsT debugParseHoleValHoleExprHolePatHoleTypeHoleRdr Substitution emptySubst lookupSubst extendSubst deleteSubst foldSubst $fShowHoleVal$fShowSubstitutionFreeVarssubstFVsfreeVarselemFVs$fShowFreeVars$fMonoidFreeVars$fSemigroupFreeVarsListMaplmNillmConsMaybeMap PatternMapKeymEmptymUnionmAltermMatchAMatchEnvME meAlphaEnvmePruneAextendMatchEnv pruneMatchEnvtoAtoAListunionOnmapFormaybeMap maybeListMap findMatch insertMatch$fPatternMapMaybeMap$fPatternMapListMap$fFunctorListMap$fFunctorMaybeMapUniqFMunUniqFMFSEnv_unFSEnvMapunMapIntMapunIntMapBoolMap EmptyBoolMapbmTruebmFalse mapAssocs$fPatternMapBoolMap$fPatternMapIntMap$fPatternMapMap$fPatternMapUniqFM$fPatternMapFSEnv$fFunctorFSEnv$fFunctorUniqFM $fFunctorMap$fFunctorIntMap$fFunctorBoolMap ForallVisMap favBoolMap ForAllTyMapfatNilfatUser fatKinded TupleSortMap tsUnboxedtsBoxed tsConstrainttsBoxedOrConstraintRecordFieldToRdrNamerecordFieldToRdrNameRFMapRFMrfmFieldTyMapTyEmptyTMtyHole tyHsTyVar tyHsAppTy tyHsForAllTy tyHsFunTy tyHsListTy tyHsParTy tyHsQualTy tyHsSumTy tyHsTupleTySMapSMEmptySM smLastStmt smBindStmt smBodyStmtBMapBMEmptyBM bmFunBind bmVarBind bmPatBindLBMapLBEmptyLB lbValBindslbEmptySLMapSLEmptySLMslmNilslmConsGRHSMap unGRHSMapGRHSSMap unGRHSSMapPatMapPatEmptypmHolepmWildpmVarpmParPat pmTuplePat pmConPatInCDMapCDEmpty cdPrefixCon cdInfixConMMapunMMapMGMapunMGMapSCMapSCEmptySCM scmListComp scmMonadComp scmDoExprEMapEMEmptyEMemHoleemVaremIPVar emOverLitemLitemLamemAppemOpAppemNegAppemParemExplicitTupleemCaseemSecLemSecRemIfemLetemDoemExplicitList emRecordCon emRecordUpdemExprWithTySigOLMapOLMEmptyOLM olmIntegral olmFractional olmIsStringLMapLMEmptyLMlmChar lmCharPrimlmString lmStringPrimlmInt lmIntPrim lmWordPrim lmInt64Prim lmWord64PrimVMapVMVMEmptybvmapfvmap BoxityMapboxBoxed boxUnboxed TupArgMap tamPresent tamMissingemptyLMapWrapperemptyOLMapWrapperemptyEMapWrapper extendResult singleton sameHoleValuealphaEquivalentemptySCMapWrapperemptyCDMapWrapperemptyPatMapWrapperemptySLMapWrapperemptyLBMapWrapper deValBindsemptyBMapWrapperemptySMapWrapperemptyTyMapWrappersplitVisBindersextractBinderInfofieldsToRdrNamesUpdfieldsToRdrNames$fPatternMapBoxityMap$fPatternMapVMap$fPatternMapLMap$fPatternMapOLMap$fPatternMapSCMap$fPatternMapPatMap$fPatternMapCDMap'$fRecordFieldToRdrNameFieldLabelStrings$fRecordFieldToRdrNameFieldOcc'$fRecordFieldToRdrNameAmbiguousFieldOcc$fPatternMapTupleSortMap$fPatternMapForallVisMap$fPatternMapForAllTyMap$fPatternMapTyMap$fPatternMapRFMap$fPatternMapSMap$fPatternMapBMap$fPatternMapLBMap$fPatternMapSLMap$fPatternMapGRHSMap$fPatternMapGRHSSMap$fPatternMapMMap$fPatternMapMGMap$fPatternMapEMap$fPatternMapTupArgMap $fFunctorEMap$fFunctorRFMap$fFunctorLBMap $fFunctorBMap$fFunctorGRHSSMap$fFunctorGRHSMap$fFunctorSLMap $fFunctorSMap$fFunctorMGMap $fFunctorMMap$fFunctorTupArgMap$fFunctorTyMap$fFunctorForAllTyMap$fFunctorForallVisMap$fFunctorTupleSortMap$fFunctorPatMap$fFunctorCDMap$fFunctorSCMap$fFunctorOLMap $fFunctorLMap $fFunctorVMap$fFunctorBoxityMapUMapumExprumStmtumTypeumPat Matchableinjectproject getOriginUniverseprintU$fMatchableGenLocated$fMatchableGenLocated0$fMatchableGenLocated1$fMatchableGenLocated2$fMatchableUniverse$fPatternMapUMap $fFunctorUMap$fDataUniverse MatchResultNoMatchTemplate tTemplatetImports tDependentsMatchResultTransformerRewriterResultrrOrigin rrQuantifiers rrTransformer rrTemplateRewriterRewriteMatcherQuery qQuantifiersqPatternqResult Direction LeftToRight RightToLeft ParentPrecHasPrecIsLhs IsHsAppsTy NeverParenContext ctxtBindersctxtDependents ctxtFixityEnv ctxtInScopectxtParentPrec ctxtRewriter ctxtSubst mkMatchermkLocalMatcher runMatcher mkRewriteaddRewriteImportssetRewriteTransformer mkRewritermkLocalRewriterdefaultTransformer runRewriter ppRewrite toURewrite fromURewriterewritesWithDependents $fShowQuery$fBifunctorQuery$fFunctorQuery$fMonoidMatcher$fSemigroupMatcher$fFunctorMatchResult$fFunctorTemplate$fFunctorRewriterResult$fFunctorMatcher $fEqDirection QuerySpecQExprQTypeQStmtparseQuerySpecsgenericQ GroundTerms groundTermsmkLocatedHsVarmkLocmkLocAmkEpAnnmkLamsmkLetmkApps mkHsAppsTymkTyVarmkVarPat mkConPatIn wildSupply patToExpr grhsToExprparenify getUnparenedunparen parenifyP parenifyTunparenTunparenPbitraverseHsConDetailstypeSynonymsToRewrites mkTypeRewritedfnsToRewrites getImportsmatchToRewritespatternSynonymsToRewritesContextUpdater updateContext emptyContext addInScope addBindersupdateSubstitution updateBindersubstChangeNoChange Replacement replLocation replOriginalreplReplacementreplace$fMonoidChange$fSemigroupChange$fShowReplacementCPPNoCPP addImportsCPP parseCPPFileparseCPPprintCPPcppFork$fTraversableCPP $fFoldableCPP $fFunctorCPPliftRWST runRetriegetGroundTermsfocusapplyapplyWithUpdateapplyWithStrategyapplyWithUpdateAndStrategyqueryqueryWithUpdate ifChangediterateR addImports topDownPrune$fMonadIORetrie $fMonadRetrie$fApplicativeRetrie$fFunctorRetrierulesToRewrites RewriteSpecAdhoc AdhocPattern AdhocTypeFold RuleBackward RuleForward TypeBackward TypeForwardUnfoldPatternForwardPatternBackward QualifiedNameparseRewriteSpecs parseAdhocsparseQualified$fSemigroupClassifiedRewrites$fMonoidClassifiedRewrites$fEqFileBasedTy$fOrdFileBasedTydefaultElaborationselaborateRewritesInternal RoundTripparseRoundtrips doRoundtrips GrepCommandsinitialFileSet commandChain ProtoOptionsOptions_OptionsadditionalImportscolorise elaborations executionMode extraIgnores fixityEnviterateNnoDefaultElaborations randomOrderrewrites roundtripssingleThreaded targetDir targetFiles verbosity ExecutionMode ExecDryRun ExecRewrite ExecExtract ExecSearch parseOptionsparseRewritesInternaldefaultOptionsgetOptionsParserparseVerbosityresolveOptionsforFngetTargetFilesbuildGrepChain$fEqGrepCommands$fShowGrepCommands$fShowExecutionModeWriteFn runScriptrunScriptWithModifiedOptionsexecuterunwriteCountLines writeDiff writeSearch writeExtractGHC.HsHsParsedModule hpm_src_files hpm_moduleHsModule hsmodName hsmodLayout hsmodImportshsmodHaddockModHeader hsmodExportshsmodDeprecMessage hsmodDeclshsmodAnn AnnsModuleam_mainam_decls GHC.Hs.Utils CollectPass collectXXPat CollectFlagCollNoDictBindersCollWithDictBinders unitRecStmtTc unguardedRHSunguardedGRHSsspanHsLocaLBindsnl_HsVar nlWildPatName nlWildPat nlWildConPatnlVarPat nlTuplePatnlParPatnlNullaryConPatnlLitPatnlList nlInfixConPat nlHsVarAppsnlHsVar nlHsTyVar nlHsTyConApp nlHsTyApps nlHsTyAppnlHsSyntaxApps nlHsParTynlHsPar nlHsOpAppnlHsLitnlHsLam nlHsIntLitnlHsIf nlHsFunTynlHsDo nlHsDataConnlHsCasenlHsApps nlHsAppTy nlHsAppKindTynlHsAppnlConVarPatName nlConVarPat nlConPatNamenlConPat mkVarBindmkUntypedSplice mkTypedSplicemkTransformStmtmkTransformByStmt mkTopFunBind mkTcBindStmt mkSimpleMatchmkSimpleGeneratedFunBind mkRnBindStmt mkRecStmt mkPsBindStmtmkPrefixFunRhs mkPatSynBindmkParPat mkNPlusKPatmkNPat mkMatchGroupmkMatch mkLocatedList mkLetStmt mkLastStmt mkLHsWrapCo mkLHsWrap mkLHsVarTuplemkLHsTupleExprmkLHsPar mkLHsCmdWrap mkHsWrapPatCo mkHsWrapPat mkHsWrapCoR mkHsWrapComkHsWrap mkHsVarBindmkHsStringPrimLit mkHsString mkHsSigEnvmkHsQuasiQuotemkHsPar mkHsOpAppmkHsLamsmkHsLam mkHsIsString mkHsIntegralmkHsIfmkHsFractional mkHsDoAnnsmkHsDo mkHsDictLet mkHsCompAnnsmkHsComp mkHsCmdWrap mkHsCmdIfmkHsCharPrimLit mkHsCaseAlt mkHsAppsWithmkHsApps mkHsAppWith mkHsAppTypes mkHsAppTypemkHsAppmkGroupUsingStmtmkGroupByUsingStmt mkFunBind mkClassOpSigs mkChunkified mkBodyStmtmkBigLHsVarTupmkBigLHsVarPatTup mkBigLHsTupmkBigLHsPatTup missingTupArglStmtsImplicits lPatImplicitsisUnliftedHsBindisInfixFunBindisBangedHsBindhsValBindsImplicitshsTypeToHsSigWcTypehsTypeToHsSigTypehsTyClForeignBindershsPatSynSelectorshsLTyClDeclBindershsGroupBindershsForeignDeclsBindershsDataFamInstBindersgetPatSynBindsemptyTransStmtemptyRecStmtNameemptyRecStmtId emptyRecStmtcollectStmtsBinderscollectStmtBinderscollectPatsBinderscollectPatBinderscollectMethodBinderscollectLocalBinderscollectLStmtsBinderscollectLStmtBinderscollectHsValBinderscollectHsIdBinderscollectHsBindsBinderscollectHsBindListBinderscollectHsBindBinderschunkifyGHC.Parser.Errors.Ppr pprWarningpprError GHC.Hs.Expr XXExprGhcTc ExpansionExprWrapExpr XBindStmtTc xbstc_failOpxbstc_boundResultTypexbstc_boundResultMult xbstc_bindOp XBindStmtRn xbsrn_failOp xbsrn_bindOp SyntaxExprTc syn_res_wrapsyn_expr syn_arg_wrapsNoSyntaxExprTc SyntaxExprRnNoSyntaxExprRn SyntaxExprGhc RecordUpdTc rupd_wrap rupd_out_tys rupd_in_tys rupd_cons RecStmtTc recS_ret_ty recS_rec_retsrecS_later_rets recS_bind_ty PostTcTable PostTcExprPendingTcSplicePendingRnSpliceHsWrap HsSplicedT HsExpansion HsExpandedGrhsAnnga_vbarga_sepEpAnnUnboundVar hsUnboundHolehsUnboundBackquotes EpAnnHsCasehsCaseAnnsRest hsCaseAnnOf hsCaseAnnCase DelayedSpliceCmdTopTcAnnsLetalLetalInAnnsIf aiThenSemiaiThenaiIf aiElseSemiaiElse AnnProjectionapOpenapClose AnnFieldLabelafDotAnnExplicitSumaesOpenaesClose aesBarsBefore aesBarsAfter tupArgPresent thTyBrackets thBracketsstripParensLHsExprstripParensHsExprppr_splice_decl ppr_splice ppr_quasippr_module_name_prefix ppr_lexprppr_lcmdppr_infix_exprppr_expr ppr_do_stmtsppr_cmdppr_appspprTransformStmt pprTransStmt pprStmtInCtxtpprStmtpprQualspprPendingSplicepprParendLExpr pprParendExpr pprMatchespprMatchInCtxtpprMatchpprLCmd pprHsBracketpprGRHSspprGRHSpprDopprDebugParendExprpprComp pprCmdArgpprCmdpprBypprBinds pprBindStmtpprArgpp_rhs pp_dotdotparenthesizeHsExpr noSyntaxExprnoExpr mkSyntaxExprmkRnSyntaxExprmatchGroupAritymatchContextErrStringmatchArrowContextErrStringisSingletonMatchGroup isQuietHsExpr isQuietHsCmdisEmptyMatchGroupisAtomicHsExpr hsLMatchPatshsExprNeedsParens GHC.Hs.DeclsXViaStrategyPs HsRuleAnn ra_tyanns ra_tmannsra_resttyFamInstDeclNametyFamInstDeclLName tyClDeclLNametcdNamestandaloneKindSigNameroleAnnotDeclNameresultVariableNamepprTyFamInstDeclpprTyClDeclFlavourpprHsFamInstLHSpprDataFamInstFlavourpartitionBindsAndSigsmapDerivStrategyinstDeclDataFamInstshsGroupTopLevelFixitySigs hsDeclHasCuskhsConDeclThetagetRecConArgs_maybe getConNamesfoldDerivStrategyflattenRuleDeclsfamilyDeclNamefamilyDeclLNamefamResultKindSignature emptyRnGroup emptyRdrGroup appendGroups GHC.Hs.Pat ListPatTc EpAnnSumPatsumPatVbarsBeforesumPatVbarsAfter sumPatParensConPatTccpt_wrapcpt_tvs cpt_dicts cpt_binds cpt_arg_tysCoPat co_pat_ty co_pat_inner co_cpt_wrap pprParendLPat pprConArgspatNeedsParensparenthesizePatmkPrefixConPatmkNilPat mkCharLitPatlooksLazyPatBind isSimplePatisIrrefutableHsPat isBangedLPathsRecUpdFieldRdrhsRecUpdFieldOcchsRecUpdFieldId hsRecFieldIdcollectEvVarsPatscollectEvVarsPat GHC.Hs.Binds NHsValBindsLR NValBindsAnnSigasRestasDcolonpragSrcBrackets pragBracketsppr_sig ppr_monobind pprVarSigpprTickspprTcSpecPragspprSpec pprMinimalSigpprLHsBindsForUser pprLHsBinds pprDeclListplusHsValBindsisEmptyValBindsisEmptyLHsBindsisEmptyIPBindsTcisEmptyIPBindsPReqEmptyLocalBindsemptyValBindsOutemptyValBindsInemptyLocalBinds emptyLHsBinds GHC.Hs.TypeOutputableBndrFlag EpAnnForallTyunambiguousFieldOccsplitLHsSigmaTyInvissplitLHsQualTysplitLHsPatSynTysplitLHsInstDeclTysplitLHsGadtTysplitLHsForAllTyInvis_KPsplitLHsForAllTyInvissplitHsFunTypesetHsTyVarBndrFlagselectorAmbiguousFieldOccrdrNameAmbiguousFieldOcc pprLHsContext pprHsTypepprHsOuterSigTyVarBndrspprHsOuterFamEqnTyVarBndrs pprHsForAllpprConDeclFieldspprAnonWildCardparenthesizeHsTypeparenthesizeHsContextmkHsWildCardBndrsmkHsQTvsmkHsPatSigTypemkHsOuterImplicitmkHsOuterExplicitmkHsOpTymkHsImplicitSigTypemkHsForAllVisTelemkHsForAllInvisTelemkHsExplicitSigType mkHsAppTys mkHsAppTy mkHsAppKindTy mkFieldOccmkEmptyWildCardBndrsmkAnonWildCardTymkAmbiguousFieldOcclhsTypeArgSrcSpanisUnrestricted ignoreParens hsWcScopedTvshsTypeNeedsParens hsTyVarNamehsTyVarBndrFlag hsTyKindSighsTyGetAppHead_maybehsTvbAllKinded hsSigWcType hsScopedTvshsOuterTyVarNameshsOuterExplicitBndrs hsLTyVarNames hsLTyVarNamehsLTyVarLocNameshsLTyVarLocNamehsExplicitLTyVarNameshsAllLTyVarNamesgetLHsInstDeclHeadgetLHsInstDeclClass_maybe getBangTypegetBangStrictnessfromMaybeContext emptyLHsQTvs dropWildCards arrowToHsTypeambiguousFieldOcc GHC.Hs.Lit OverLitTcol_type ol_rebindable pp_st_suffix pmPprHsLit overLitType convertLit pprSpliceDecl pprSplice pprPatBindpprLExpr pprFunBindpprExprLanguage.Haskell.Syntax.ExprUntypedSpliceFlavourUntypedTypeSpliceUntypedPatSpliceUntypedDeclSpliceUntypedExpSplice TransForm GroupFormThenFormThModFinalizersStmtLR trS_using trS_stmtstrS_rettrS_formtrS_fmaptrS_exttrS_by trS_bndrstrS_bind recS_stmts recS_ret_fn recS_rec_ids recS_mfix_fnrecS_later_idsrecS_ext recS_bind_fnXStmtLR TransStmtRecStmtParStmtLetStmtLastStmtBodyStmtApplicativeStmtBindStmtStmtSplicePointNameSpliceDecoration BareSplice DollarSplice RecUpdProjRecProjPendingTcSplice'PendingRnSplice' ParStmtBlock XParStmtBlock MatchGroupTc mg_res_ty mg_arg_tysMatchm_patsm_grhssm_extm_ctxtXMatchLStmtLRLStmtLMatch LHsTupArg LHsRecUpdProj LHsRecProj LHsCmdTopLHsCmdLGRHSHsTupArgXTupArgMissingPresent HsStmtContext TransStmtCtxtPatGuard ParStmtCtxt MonadCompMDoExprListComp GhciStmtCtxt ArrowExprDoExprHsSplicedThing HsSplicedTy HsSplicedExpr HsSplicedPat HsRecordBindsHsPragE HsPragSCCXHsPragEHsMatchContext mc_strictnessmc_fun mc_fixity ThPatSplice ThPatQuoteStmtCtxtRecUpd PatBindRhs PatBindGuards LambdaExprIfAltFunRhsCaseAltPatSynArrowMatchCtxt HsFieldLabelhflLabelhflExt XHsFieldLabelHsDoRnHsCmdTopXCmdTopHsCmdXCmdHsCmdParHsCmdLet HsCmdLamCaseHsCmdLamHsCmdIfHsCmdDo HsCmdCase HsCmdArrFormHsCmdApp HsCmdArrApp HsBracketRn HsBracketVarBrTypBrTExpBrPatBrExpBrDecBrLXBracketDecBrGHsArrowMatchContextProcExpr ArrowCaseAlt KappaExpr HsArrAppTypeHsFirstOrderAppHsHigherOrderApp GuardStmt GuardLStmtGhciStmt GhciLStmtGRHSXGRHSFieldLabelStrings FailOperatorExprStmt ExprLStmtCmdSyntaxTableCmdStmtCmdLStmt ArithSeqInfoFromTo FromThenToFromFromThenApplicativeArgStmCtxPassApplicativeArgxarg_app_arg_onexarg_app_arg_many stmt_context is_body_stmt final_expr bv_patternarg_expr app_stmtsapp_arg_patternXApplicativeArgApplicativeArgManyApplicativeArgOnequalifiedDoModuleName_maybeprependQualifiedpprStmtContextpprMatchContextNounpprMatchContextpprFieldLabelStringspprExternalSrcLocpprArrowMatchContextNounpprAStmtContextmatchSeparator isTypedSpliceisTypedBracket isPatSynCtxtisMonadStmtContextisMonadCompContext isInfixMatchisComprehensionContextLanguage.Haskell.Syntax.Decls WarnDecls wd_warningswd_srcwd_extWarnings XWarnDeclsWarnDeclWarning XWarnDecl TyFamInstEqn TyFamInstDecltfid_xtntfid_eqnXTyFamInstDeclTyFamDefltDecl TyClGroup group_tyclds group_roles group_kisigs group_instds group_ext XTyClGroupTyClDecl tcdTyVarstcdSigstcdSExttcdRhstcdMethstcdLName tcdFixitytcdFamtcdFExttcdFDstcdDocs tcdDataDefntcdDExttcdCtxttcdCExttcdATs tcdATDefs XTyClDeclSynDeclFamDecl ClassDeclDataDeclStandaloneKindSigXStandaloneKindSig SpliceDecl XSpliceDecl RuleDeclsrds_src rds_rulesrds_extHsRules XRuleDeclsRuleDeclrd_tyvsrd_tmvsrd_rhsrd_namerd_lhsrd_extrd_actHsRule XRuleDeclRuleBndr XRuleBndr RuleBndrSig RoleAnnotDeclXRoleAnnotDecl NewOrDataNewType LWarnDecls LWarnDecl LTyFamInstEqnLTyFamInstDeclLTyFamDefltDecl LTyClDeclLStandaloneKindSig LSpliceDecl LRuleDecls LRuleDecl LRuleBndrLRoleAnnotDecl LInstDeclLInjectivityAnn LHsFunDepLHsDerivingClauseLHsDecl LForeignDeclLFamilyResultSig LFamilyDeclLDocDeclLDerivStrategy LDerivDeclLDerivClauseTys LDefaultDeclLDataFamInstDeclLConDecl LClsInstDeclLAnnDeclInstDecl tfid_insttfid_ext dfid_instdfid_extcid_inst cid_d_ext XInstDecl TyFamInstDClsInstD DataFamInstDInjectivityAnnXInjectivityAnnHsTyPatsHsRuleRnHsGroup hs_warndshs_valds hs_tyclds hs_splcds hs_ruledshs_fordshs_fixdshs_exths_docs hs_derivdshs_defdshs_anndsXHsGroupHsDerivingClausederiv_clause_tysderiv_clause_strategyderiv_clause_extXHsDerivingClause HsDerivingHsDeclXHsDeclWarningDValDTyClDSpliceDSigDRuleD RoleAnnotDKindSigDInstDForDDocDDerivDAnnDDefD HsDataDefn dd_kindSigdd_ext dd_derivsdd_ctxtdd_consdd_cTypedd_ND XHsDataDefnHsConDeclH98DetailsHsConDeclGADTDetails PrefixConGADT RecConGADTFunDepXFunDep ForeignImportCImport ForeignExportCExport ForeignDecl fd_sig_tyfd_namefd_i_extfd_fifd_fefd_e_ext XForeignDeclFamilyResultSigXFamilyResultSigTyVarSigKindSigNoSig FamilyInfoOpenTypeFamilyClosedTypeFamily DataFamily FamilyDeclfdTyVars fdTopLevel fdResultSigfdLNamefdInjectivityAnnfdInfofdFixityfdExt XFamilyDeclFamEqn feqn_tyconfeqn_rhs feqn_pats feqn_fixityfeqn_ext feqn_bndrsXFamEqnDocDeclDocGroupDocCommentPrevDocCommentNamedDocCommentNext DerivStrategy ViaStrategy StockStrategyAnyclassStrategyNewtypeStrategy DerivDecl deriv_typederiv_strategyderiv_overlap_mode deriv_ext XDerivDeclDerivClauseTysXDerivClauseTysDctMulti DctSingle DefaultDecl XDefaultDeclDataFamInstDecldfid_eqn DataDeclRntcdFVs tcdDataCuskConDecl con_res_ty con_namescon_name con_mb_cxt con_g_ext con_g_args con_forallcon_ext con_ex_tvscon_doc con_bndrscon_argsXConDecl ConDeclGADT ConDeclH98 ClsInstDeclcid_tyfam_instscid_sigs cid_poly_tycid_overlap_modecid_extcid_datafam_insts cid_binds XClsInstDecl CImportSpecCWrapperCLabel CFunction AnnProvenanceValueAnnProvenanceModuleAnnProvenanceTypeAnnProvenanceAnnDecl HsAnnotationXAnnDecltyClGroupTyClDeclstyClGroupRoleDeclstyClGroupKindSigstyClGroupInstDeclstyClDeclTyVarspprFullRuleName pprFlavournewOrDataToFlavourisTypeFamilyDecl isSynDeclisOpenTypeFamilyInfo isFamilyDeclisDataFamilyDecl isDataDeclisClosedTypeFamilyInfo isClassDeclhsGroupInstDecls docDeclDocderivStrategyNamecountTyClDeclscollectRuleBndrSigTysannProvenanceName_maybeLanguage.Haskell.Syntax.Binds TcSpecPragsIsDefaultMethod SpecPrags TcSpecPragSpecPragSigXSigTypeSigSpecSig SpecInstSig SCCFunSig PatSynSig MinimalSig InlineSigIdSigFixSig ClassOpSigCompleteMatchSigRecordPatSynFieldrecordPatSynPatVarrecordPatSynField PatSynBindpsb_idpsb_extpsb_dirpsb_defpsb_args XPatSynBindPSB LTcSpecPragLSigLIPBindLHsLocalBindsLR LHsLocalBinds LHsBindsLRLHsBinds LHsBindLRLHsBind LFixitySigIPBindXIPBind HsValBindsLRValBinds XValBindsLR HsValBinds HsPatSynDirUnidirectionalExplicitBidirectionalImplicitBidirectionalHsPatSynDetailsHsLocalBindsLRXHsLocalBindsLR HsIPBindsEmptyLocalBinds HsLocalBinds XHsIPBindsIPBindsHsBindLRvar_rhsvar_idvar_ext pat_tickspat_rhspat_lhspat_extfun_tick fun_matchesfun_idfun_extabs_tvsabs_sigabs_ext abs_exports abs_ev_vars abs_ev_binds abs_binds XHsBindsLRVarBindPatBindAbsBindsFunBindHsBind FixitySig XFixitySigABExportabe_wrap abe_pragsabe_polyabe_monoabe_extABE XABExport noSpecPrags isTypeLSig isSpecLSigisSpecInstLSig isSCCFunSig isPragLSig isMinimalLSig isInlineLSig isFixityLSigisDefaultMethodisCompleteMatchSighsSigDoc hasSpecPragspprLPatLanguage.Haskell.Syntax.PatLHsRecUpdField LHsRecField' LHsRecField HsRecUpdField HsRecFieldsrec_flds rec_dotdot HsRecField'hsRecPun hsRecFieldLbl hsRecFieldArg HsRecField hsRecFieldAnnHsConPatDetailsConLikePhsRecFieldsArgs hsRecFields hsRecFieldSel hsConPatArgsLanguage.Haskell.Syntax.Type LHsWcType LHsTypeArgLHsType LHsTyVarBndr LHsSigWcType LHsSigType LHsQTyVarshsq_ext hsq_explicitHsQTvs XLHsQTyVarsLHsKind LHsContext LFieldOcc LConDeclField LBangTypeHsWildCardBndrshswc_ext hswc_bodyHsWCXHsWildCardBndrsHsType hst_xqual hst_xforallhst_telehst_ctxthst_bodyXHsType HsWildCardTyHsTyVar HsTupleTyHsSumTyHsStarTy HsSpliceTyHsRecTyHsQualTyHsParTyHsOpTyHsListTy HsKindSig HsIParamTyHsFunTy HsForAllTyHsExplicitTupleTyHsExplicitListTyHsDocTyHsBangTyHsAppTyHsTyLit HsAppKindTy HsTyVarBndr XTyVarBndr KindedTyVar UserTyVarHsStrTyHsCharTyHsNumTy HsTupleSortHsBoxedOrConstraintTupleHsUnboxedTuple HsSigTypesig_extsig_body sig_bndrsHsSig XHsSigTypeHsScaled HsPatSigTypehsps_ext hsps_bodyHsPS XHsPatSigTypeHsPSRn hsps_nwcs hsps_imp_tvsHsOuterTyVarBndrs hso_ximplicit hso_xexplicit hso_bndrsXHsOuterTyVarBndrsHsOuterExplicitHsOuterImplicitHsOuterSigTyVarBndrsHsOuterFamEqnTyVarBndrsHsKindHsIPNameHsForAllTelescopehsf_xvis hsf_xinvis hsf_vis_bndrshsf_invis_bndrsXHsForAllTelescope HsForAllInvis HsForAllVisHsCoreTy HsContext HsConDetailsRecConInfixCon PrefixConHsArrowHsUnrestrictedArrowHsExplicitMult HsLinearArrowHsArgHsValArgHsArgPar HsTypeArgFieldOccrdrNameFieldOcc extFieldOcc XFieldOcc ConDeclField cd_fld_type cd_fld_names cd_fld_ext cd_fld_doc XConDeclFieldBangTypeAmbiguousFieldOccXAmbiguousFieldOcc Ambiguous UnambiguousnumVisibleArgs noTypeArgsmapHsOuterImplicitisHsKindedTyVarhsUnrestricted hsScaledThing hsQTvExplicit hsPatSigTypehsMulthsLinear hsIPNameFSPat pat_con_extpat_conpat_argsXPatWildPatViewPatVarPatTuplePatSumPat SplicePatSigPatParPat NPlusKPatNPatLitPatListPatLazyPatConPatAsPatBangPatLPatLanguage.Haskell.Syntax.Lit OverLitVal HsIsString HsFractional HsIntegral HsOverLit ol_witnessol_valol_extXOverLitOverLitHsLitXLit HsWordPrim HsWord64Prim HsStringPrimHsStringHsRat HsInteger HsIntPrim HsInt64PrimHsInt HsFloatPrim HsDoublePrimHsChar HsCharPrimnegateOverLitValhsOverLitNeedsParenshsLitNeedsParens GHC.Hs.ImpExp LImportDeclLIEWrappedNameLIEImportDeclQualifiedStyle QualifiedPre NotQualified QualifiedPost ImportDeclideclSourceSrc ideclSource ideclSafeideclQualified ideclPkgQual ideclName ideclImplicit ideclHidingideclExtideclAs XImportDecl IEWrappedNameIETypeIEName IEPattern IEWildcard NoIEWildcardIEXIEIEVar IEThingWith IEThingAll IEThingAbsIEModuleContentsIEGroupIEDoc IEDocNamedEpAnnImportDeclimportDeclAnnSafeimportDeclAnnQualifiedimportDeclAnnPragmaimportDeclAnnPackageimportDeclAnnImportimportDeclAnnAssimpleImportDeclreplaceWrappedNamereplaceLWrappedName pprImpExplieWrappedNameisImportDeclQualifiedimportDeclQualifiedStyle ieWrappedNameieWrappedLNameieNamesieNameieLWrappedNameGHC.Hs.ExtensionPass TypecheckedParsedRenamedOutputableBndrId NoGhcTcPass IsSrcSpanAnnIsPassghcPassIdGhcPGhcTcGhcRnGhcPsGhcPasspprIfTcpprIfRnpprIfPs SyntaxExpr MatchGroup mg_originmg_extmg_altsMG XMatchGroupLHsExprHsSpliceXSpliceHsUntypedSplice HsTypedSplice HsQuasiQuote HsSplicedHsExpr rupd_fldsrupd_ext rupd_expr rcon_fldsrcon_extrcon_con proj_fldsproj_extgf_fieldgf_extgf_exprXExprSectionRSectionL RecordUpd RecordConOpAppNegAppHsVar HsUnboundVarHsTickHsTcBracketOutHsStatic HsSpliceEHsRnBracketOutHsRecFld HsProjectionHsProcHsPar HsOverLabel HsMultiIfHsLet HsLamCaseHsLamHsIfHsIPVar HsGetFieldHsDo HsConLikeOutHsCase HsBinTick HsAppTypeHsApp ExprWithTySig ExplicitTuple ExplicitSum ExplicitListArithSeqGRHSsgrhssLocalBinds grhssGRHSsgrhssExtXGRHSs!Language.Haskell.Syntax.Extension XXWarnDecls XXWarnDecl XXValBindsLRXXType XXTyVarBndrXXTyFamInstDecl XXTyClGroup XXTyClDeclXXTupArgXXStmtLRXXStandaloneKindSig XXSpliceDeclXXSpliceXXSig XXRuleDecls XXRuleDecl XXRuleBndrXXRoleAnnotDeclXXPragE XXPatSynBindXXPatXXParStmtBlock XXOverLit XXMatchGroupXXMatchXXLit XXLHsQTyVars XXInstDeclXXInjectivityAnn XXImportDeclXXIPBindXXIEXXHsWildCardBndrs XXHsSigTypeXXHsPatSigTypeXXHsOuterTyVarBndrsXXHsLocalBindsLR XXHsIPBinds XXHsGroupXXHsForAllTelescopeXXHsFieldLabelXXHsDerivingClauseXXHsDecl XXHsDataDefn XXHsBindsLRXXGRHSsXXGRHSXXFunDep XXForeignDecl XXFixitySig XXFieldOccXXFamilyResultSig XXFamilyDeclXXFamEqnXXExpr XXDerivDeclXXDerivClauseTys XXDefaultDeclXXConDeclField XXConDeclXXCmdTopXXCmd XXClsInstDecl XXBracketXXApplicativeArg XXAnnDeclXXAmbiguousFieldOcc XXABExportXWildPat XWildCardTy XWarnings XWarningDXWarningXViewPat XViaStrategyXVarPatXVarBrXVarBindXVarXValD XValBinds XUserTyVarXUntypedSplice XUnboundVar XUnambiguous XTypedSpliceXTypeSigXTypBr XTyVarSigXTyVarXTyLit XTyFamInstDXTyClDXTupleTy XTuplePat XTransStmtXTick XTcBracketOutXTExpBrXSynDeclXSumTyXSumPatXStockStrategyXStaticXStarTyXSpliced XSpliceTy XSplicePatXSpliceEXSpliceDXSpecSig XSpecInstSigXSigPatXSigD XSectionR XSectionL XSCCFunSigXSCCXRuleD XRuleBndrSig XRoleAnnotD XRnBracketOut XRecordUpd XRecordConXRecTyXRecStmtXRecFldXRec XQuasiQuoteXQualTy XProjectionXProcXPresentXPragE XPatSynSigXPatBrXPatBindXParTyXParStmtXParPatXParXPSB XOverLitE XOverLabelXOpTyXOpAppXNoSigXNewtypeStrategyXNegApp XNPlusKPatXNPatXMultiIfXMissing XMinimalSigXMGXLitPatXLitEXListTyXListPatXLetStmtXLetXLazyPat XLastStmtXLamCaseXLam XKindedTyVar XKindSigDXKindSigXInstD XInlineSigXIfXIdSig XIParamTyXIPVarXIPBindsXIEVar XIEThingWith XIEThingAll XIEThingAbsXIEModuleContentsXIEGroup XIEDocNamedXIEDoc XHsWordPrim XHsWord64PrimXHsWC XHsValBinds XHsStringPrim XHsStringXHsSigXHsRule XHsRecFieldXHsRatXHsQTvsXHsPSXHsOuterImplicitXHsOuterExplicit XHsInteger XHsIntPrim XHsInt64PrimXHsInt XHsForAllVisXHsForAllInvis XHsFloatPrim XHsDoublePrim XHsCharPrimXHsChar XHsAnnotation XGetFieldXFunTyXFunBindXForeignImportXForeignExportXForD XForAllTyXFixSigXFamDeclXExprWithTySigXExplicitTupleTyXExplicitTuple XExplicitSumXExplicitListTy XExplicitListXExpBrXEmptyLocalBindsXDocTyXDocDXDoXDerivDXDefDXDecBrLXDecBrG XDctSingle XDctMulti XDataFamInstD XDataDeclXConPat XConLikeOut XConDeclH98 XConDeclGADTXCompleteMatchSigXCoPatXCmdWrapXCmdParXCmdLet XCmdLamCaseXCmdLamXCmdIfXCmdDoXCmdCase XCmdArrForm XCmdArrAppXCmdApp XClsInstD XClassOpSig XClassDeclXCaseXCTyFamInstDecl XCTyClGroup XCRuleDecls XCRuleBndrXCRoleAnnotDeclXCMatch XCKindSigXCInjectivityAnn XCImportDeclXCIPBind XCHsGroupXCHsFieldLabelXCHsDerivingClause XCHsDataDefnXCGRHSsXCGRHSXCFunDep XCFieldOcc XCFamilyDeclXCFamEqn XCDerivDecl XCDefaultDecl XCClsInstDecl XBodyStmt XBindStmtXBinTickXBangTyXBangPatXAsPat XArithSeqXApplicativeStmtXApplicativeArgOneXApplicativeArgMany XAppTypeEXAppTy XAppKindTyXAppXAnyClassStrategyXAnnD XAmbiguous XAbsBindsXABEWrapXRecwrapXRecUnXRecunXRecNoGhcTc NoExtFieldNoExtConMapXRecmapXRecLIdPIdPAnno noExtFieldnoExtConGHC.Driver.ErrorswarningsToMessagesprintOrThrowWarningsprintBagOfErrorsisWarnMsgFatalhandleFlagWarningsGHC.Types.ErrorWarningMessagesWarnMsgSeverity SevWarning SevOutputSevInteractiveSevInfoSevFatalSevDumpSevErrorRenderableDiagnosticrenderDiagnostic MsgEnvelope errMsgSpanerrMsgSeverity errMsgReasonerrMsgDiagnostic errMsgContextMessages ErrorMessages DecoratedSDoc unDecorated unionMessages pprMessageBagpartitionMessages mkWarnMsgmkPlainWarnMsgmkPlainMsgEnvelope mkMsgEnvelope mkMessages mkLongWarnMsgmkLongMsgEnvelopemkLocMessageAnn mkLocMessagemkErr mkDecoratedmakeIntoWarningisWarningMessageisErrorMessageisEmptyMessagesgetWarningMessagesgetSeverityColourgetErrorMessagesgetCaretDiagnostic errorsFound emptyMessages addMessageGHC.Core.DataConSrcUnpackedness SrcUnpack NoSrcUnpack SrcNoUnpack SrcStrictness SrcStrict NoSrcStrictSrcLazy HsSrcBang HsImplBangHsUnpackHsLazyHsStrict GHC.Hs.Doc LHsDocString HsDocStringExtractedTHDocsethd_mod_headerethd_inst_docsethd_decl_docs ethd_arg_docs DeclDocMap ArgDocMap unpackHDS ppr_mbDocmkHsDocStringUtf8ByteString mkHsDocStringisEmptyDocStringhsDocStringToByteStringemptyDeclDocMapemptyArgDocMap concatDocs appendDocsGHC.Parser.Annotation TrailingAnn AddVbarAnn AddSemiAnn AddRarrowAnnU AddRarrowAnn AddCommaAnn AddLollyAnnU SrcSpanAnnP SrcSpanAnnN SrcSpanAnnL SrcSpanAnnC SrcSpanAnnA SrcSpanAnn'locA SrcSpanAnnannSrcAnn ParenTypeAnnParensSquare AnnParens AnnParensHashNoEpAnnsNameAnn nann_trailing nann_quoted nann_quote nann_open nann_name nann_commas nann_closenann_adornmentNameAnnTrailing NameAnnRArrow NameAnnQuote NameAnnOnly NameAnnCommas NameAdornment NameSquareNameParensHashNameBackquotes NameParensLocatedPLocatedNLocatedLLocatedC LocatedAnLocatedA LEpaCommentIsUnicodeSyntax NormalSyntax UnicodeSyntaxHasENoE EpaLocationEpaDeltaEpaSpan EpaCommentTokEpaLineComment EpaEofComment EpaDocSection EpaDocOptionsEpaDocCommentPrevEpaDocCommentNextEpaBlockCommentEpaDocCommentNamed EpaCommentac_tok ac_prior_tok EpAnnComments priorCommentsfollowingComments EpaCommentsEpaCommentsBalancedEpAnnCOEpAnnentrycommentsanns EpAnnNotUsedDeltaPos deltaLine deltaColumn DifferentLineSameLine AnnSortKey NoAnnSortKey AnnPragmaapr_restapr_open apr_closeAnnParenap_openap_close ap_adornment AnnListItem lann_trailingAnnList al_trailingal_restal_openal_close al_anchor AnnKeywordIdAnnrarrowtailUAnnlarrowtailUAnnVia AnnValStrAnnUnit AnnThTyQuoteAnnSimpleQuote AnnSignatureAnnSafeAnnRarrowtailU AnnRarrowU AnnQualified AnnPercentOne AnnPercentAnnPackageNameAnnOpenS AnnOpenPH AnnOpenEQUAnnOpenC AnnOpenBUAnnNameAnnMdo AnnLollyUAnnLarrowtailU AnnLarrowU AnnHiding AnnForallUAnnDollarDollar AnnDollar AnnDcolonU AnnDarrowU AnnCommaTuple AnnCloseS AnnCloseQU AnnClosePH AnnCloseC AnnCloseBUAnnClassAnnAs AnnAnyclassAnnInfix AnnLarrow AnnPatternAnnFunIdAnnRole AnnExport AnnImport AnnForeign AnnFamily AnnNewtypeAnnStock AnnDeriving AnnDefault AnnInstanceAnnData AnnForall AnnDarrow AnnModuleAnnBangAnnRecAnnUsingAnnGroupAnnByAnnColonAnnMinus AnnStatic AnnClosePAnnOpenPAnnProcAnnDot AnnCloseQ AnnOpenEQAnnOpenEAnnAt AnnDcolon AnnDotdotAnnInAnnLetAnnLamAnnElseAnnThenAnnIfAnnDoAnnOfAnnCase AnnCloseBAnnOpenB AnnRarrowtail AnnLarrowtail Annrarrowtail AnnlarrowtailAnnSemi AnnRarrowAnnWhereAnnEqualAnnVbarAnnTilde AnnBackquoteAnnTypeAnnCommaAnnCloseAnnValAnnOpen AnnHeader AnnContextac_open ac_darrowac_closeAnchorOperation MovedAnchorUnchangedAnchorAnchor anchor_opanchorAddEpAnn widenSpanwidenLocatedAn widenAnchorR widenAnchor unicodeAnn transferAnnsA spanAsAnchor sortLocatedAsetPriorCommentssetFollowingCommentssetCommentsSrcAnnsetCommentsEpAnnremoveCommentsA realSrcSpanrealSpanAsAnchorreLocNreLocLreLocCreLocAreLocreAnnLreAnnCreAnnplaceholderRealSpan parenTypeKws noSrcSpanAnoLocA noComments noAnnSrcSpannoAnnna2lan2lmapLocAla2rla2nala2lal2nl2l getLocAnngetLocAgetFollowingComments getDeltaLineextraToAnnListepaLocationRealSrcSpanepaLocationFromSrcAnn epAnnComments epAnnAnnsL epAnnAnns emptyCommentsdeltaPos commentsOnlyAcommentcombineSrcSpansA combineLocsAannParen2AddEpAnnaddTrailingCommaToNaddTrailingAnnToLaddTrailingAnnToAaddCommentsToSrcAnnaddCommentsToEpAnn addCLocAAaddCLocAaddAnnsAaddAnnsGHC.Types.Name.ReaderRdrNameUnqualQualExactOrigParentpar_isNoParentParentIs LocalRdrEnv ImportSpecis_itemImpSpecis_decl ImpItemSpecis_iloc is_explicitImpAllImpSome ImpDeclSpecis_qualis_modis_dlocis_as GlobalRdrEnv GlobalRdrEltgre_pargre_namegre_lclGREgre_imp unQualSpecOKunQualOK transformGREsstarInfo shadowNames rdrNameSpace rdrNameOcc qualSpecOKpromoteRdrNamepprNameProvenancepprGlobalRdrEnvplusGlobalRdrEnvpickGREsModExppickGREsopIsAt nameRdrName mkVarUnqualmkUnqual mkRdrUnqual mkRdrQualmkQualmkOrigmkGlobalRdrEnvlookupLocalRdrOcclookupLocalRdrEnvlookupGlobalRdrEnvlookupGRE_RdrName'lookupGRE_RdrNamelookupGRE_Name_OccNamelookupGRE_NamelookupGRE_GreNamelookupGRE_FieldLabellocalRdrEnvEltslocalGREsFromAvailisUnqual isSrcRdrName isRecFldGRE isRdrTyVarisRdrTc isRdrDataCon isQual_maybeisQual isOrig_maybeisOrigisNoFieldSelectorGRE isLocalGREisFieldSelectorGREisExplicitItem isExact_maybeisExactisDuplicateRecFldGREinLocalRdrEnvScopeimportSpecModule importSpecLocgresToAvailInfogresFromAvails gresFromAvail greSrcSpan greRdrNamesgreQualModNamegrePrintableNamegreParent_maybe greOccNamegreMangledName greFieldLabelgreDefinitionSrcSpangreDefinitionModuleglobalRdrEnvElts getRdrNamegetGRE_NameQualifier_maybesextendLocalRdrEnvListextendLocalRdrEnvextendGlobalRdrEnvemptyLocalRdrEnvemptyGlobalRdrEnvelemLocalRdrEnv demoteRdrNamedelLocalRdrEnvList bestImport availFromGREGHC.Types.AvailGreName FieldGreName NormalGreNamegreNameSrcSpanGHC.Types.Name BuiltInSyntax UserSyntaxwiredInNameTyThing_maybe stableNameCmp setNameLoc pprPrefixNamepprNameUnqualifiedpprNameDefnLocpprModulePrefix pprInfixName pprDefinedAtnameStableString nameSrcSpan nameSrcLoc nameNameSpacenameModule_maybe nameModulenameIsLocalOrFromnameIsHomePackageImportnameIsHomePackagenameIsFromExternalPackage mkWiredInNamemkSystemVarNamemkSystemNameAt mkSystemName mkSysTvNamemkInternalName mkFCallNamemkExternalNamemkDerivedInternalNamemkClonedInternalName localiseName isWiredInName isWiredIn isVarName isValName isTyVarName isTyConName isSystemNameisInternalName isHoleNameisExternalName isDynLinkName isDataConNameisBuiltInSyntax getSrcSpan getSrcLoc getOccStringgetOccFSGHC.Types.Name.Occurrence TidyOccEnvOccSetOccEnv NameSpacevarName unitOccSet unitOccEnv unionOccSetsunionManyOccSetstvName tidyOccNametcName tcClsNamestartsWithUnderscore srcDataNamesetOccNameSpacepromoteOccName pprOccName pprOccEnvpprNonVarNameSpacepprNameSpaceBrief pprNameSpace plusOccEnv_C plusOccEnv parenSymOcc occEnvEltsnameSpacesRelated mkWorkerOccmkVarOcc mkTyVarOccFS mkTyVarOcc mkTyConRepOcc mkTcOccFSmkTcOcc mkTag2ConOccmkSuperDictSelOccmkSuperDictAuxOcc mkSpecOcc mkRepEqOccmkOccSet mkOccNameFS mkOccName mkOccEnv_CmkOccEnv mkNewTyCoOcc mkMethodOcc mkMaxTagOcc mkMatcherOcc mkLocalOcc mkInstTyTcOcc mkInstTyCoOccmkIPOccmkGenRmkGen1RmkForeignExportOcc mkEqPredCoOcc mkDictOccmkDefaultMethodOcc mkDataTOcc mkDataOccFS mkDataOccmkDataConWrapperOccmkDataConWorkerOcc mkDataCOcc mkDFunOcc mkCon2TagOcc mkClsOccFSmkClsOccmkClassOpAuxOccmkClassDataConOcc mkBuilderOcc minusOccSet mapOccEnv lookupOccEnvisVarOccisVarNameSpaceisValOccisValNameSpaceisTypeableBindOccisTvOcc isTvNameSpaceisTcOccisTcClsNameSpaceisSymOcc isEmptyOccSetisDerivedOccNameisDefaultMethodOcc isDataSymOcc isDataOccisDataConNameSpaceintersectOccSetinitTidyOccEnv foldOccEnv filterOccSet filterOccEnvextendOccSetList extendOccSetextendOccEnv_CextendOccEnv_AccextendOccEnvList extendOccEnvemptyTidyOccEnv emptyOccSet emptyOccEnv elemOccSet elemOccEnv demoteOccNamedelTidyOccEnvListdelListFromOccEnv delFromOccEnvdataNameclsNameavoidClashesOccEnv alterOccEnvGHC.Core.TyCo.RepMult GHC.Data.BagBagunitBag unionManyBags unionBagssnocBagpartitionBagWith partitionBag nonEmptyToBag mapMaybeBagmapBagM_mapBagMmapBagmapAndUnzipBagM mapAccumBagLM mapAccumBagL listToBag lengthBagisSingletonBag isEmptyBagfoldBagflatMapBagPairM flatMapBagM filterBagM filterBagemptyBagelemBagconsBagconcatMapBagPair concatMapBag concatBag catBagMaybes bagToListanyBagManyBagallBag LexicalFixityInfixPrefix negateFixity minPrecedence maxPrecedence funTyFixity defaultFixity compareFixityGHC.Types.SourceText StringLiteralsl_tcsl_stsl_fs SourceText NoSourceText IntegralLitil_valueil_textILil_neg FractionalLitfl_textfl_signifl_neg fl_exp_baseFLfl_expFractionalExponentBaseBase10Base2rationalFromFractionalLitpprWithSourceTextnegateIntegralLitnegateFractionalLitmkTHFractionalLitmkSourceFractionalLit mkIntegralLitmkFractionalLitintegralFractionalLitfractionalLitFromRationalGHC.Unit.Module.NamestableModuleNameCmp pprModuleNameparseModuleNamemoduleNameStringmoduleNameSlashes moduleNameFSmoduleNameColonsmkModuleNameFS mkModuleName NamedThinggetName getOccNameName tidyNameOcc setNameUnique nameUnique nameOccNameGHC.Types.SrcLocUnhelpfulSpanReasonUnhelpfulWiredInUnhelpfulOtherUnhelpfulNoLocationInfoUnhelpfulGeneratedUnhelpfulInteractiveSrcSpan RealSrcSpan UnhelpfulSpanSrcLoc RealSrcLoc UnhelpfulLoc srcSpanFile RealLocatedPsSpan psRealSpan psBufSpan PsLocatedPsLoc psRealLocpsBufPosLocated LayoutInfo VirtualBracesExplicitBraces NoLayoutInfo GenLocatedLBufSpan bufSpanStart bufSpanEndBufPosbufPoswiredInSrcSpanunhelpfulSpanFS unRealSrcSpanunLocsrcSpanToRealSrcSpansrcSpanStartLinesrcSpanStartCol srcSpanStartsrcSpanFirstCharactersrcSpanFileName_maybesrcSpanEndLine srcSpanEndCol srcSpanEnd srcLocSpan srcLocLine srcLocFile srcLocColspanssortRealLocated sortLocatedrightmost_smallestrealSrcSpanStartrealSrcSpanEndrealSrcLocSpan psSpanStart psSpanEnd pprUserSpanpprUserRealSpanpprUnhelpfulSpanReason pprLocated noSrcSpannoSrcLocnoLoc mkSrcSpanPs mkSrcSpanmkSrcLoc mkRealSrcSpan mkRealSrcLocmkPsSpanmkGeneralSrcSpanmkGeneralSrcLocmkGeneralLocatedmapLoc lookupSrcSpan lookupSrcLocliftLleftmost_smallestleftmost_largestleftmostColumnisZeroWidthSpan isSubspanOfisRealSubspanOf isOneLineSpan isGoodSrcSpanisGeneratedSrcSpaninteractiveSrcSpaninteractiveSrcLocgetRealSrcSpangetLoc getBufSpan getBufPosgeneratedSrcSpangeneratedSrcLoc eqLocated containsSpancombineSrcSpanscombineRealSrcSpans combineLocs cmpLocated cmpBufSpan advanceSrcLoc advancePsLoc advanceBufPosaddCLocGHC.Data.FastString.Env FastStringEnvDFastStringEnv unitFsEnv plusFsEnv_C plusFsEnvmkFsEnvmkDFsEnvmapFsEnvlookupFsEnv_NF lookupFsEnv lookupDFsEnv filterFsEnv extendFsEnv_CextendFsEnv_AccextendFsEnvList_CextendFsEnvList extendFsEnv emptyFsEnv emptyDFsEnv elemFsEnvdelListFromFsEnv delFromFsEnv dFsEnvElts alterFsEnvGHC.Types.Unique.SetUniqSetunsafeUFMToUniqSet unitUniqSetuniqSetMinusUFMuniqSetMinusUDFM uniqSetAny uniqSetAll unionUniqSetsunionManyUniqSets sizeUniqSetrestrictUniqSetToUFM pprUniqSetpartitionUniqSetnonDetStrictFoldUniqSetnonDetKeysUniqSetnonDetEltsUniqSet mkUniqSet minusUniqSet mapUniqSetlookupUniqSet_Directly lookupUniqSetisEmptyUniqSetintersectUniqSets getUniqSetfilterUniqSet_Directly filterUniqSet emptyUniqSetelementOfUniqSetelemUniqSet_DirectlydisjointUniqSetsdelOneFromUniqSet_DirectlydelOneFromUniqSetdelListFromUniqSet_DirectlydelListFromUniqSetaddOneToUniqSetaddListToUniqSetGHC.Types.Unique.FM NonDetUniqFM getNonDetzipToUFMunsafeIntMapToUFMunsafeCastUFMKeyunitUFMunitDirectlyUFMufmToSet_Directly ufmToIntMapsizeUFM seqEltsUFM pprUniqFMpprUFMWithKeyspprUFM plusUFM_CD2 plusUFM_CD plusUFM_C plusUFMListplusUFMplusMaybeUFM_C pluralUFM partitionUFMnonDetUFMToListnonDetStrictFoldUFM_DirectlynonDetStrictFoldUFM nonDetKeysUFM nonDetEltsUFMminusUFMmergeUFMmapUFM_DirectlymapUFM mapMaybeUFMlookupWithDefaultUFM_DirectlylookupWithDefaultUFMlookupUFM_Directly lookupUFMlistToUFM_Directly listToUFM_C listToUFMlistToIdentityUFM isNullUFMintersectUFM_C intersectUFMfoldUFMfilterUFM_Directly filterUFM equalKeysUFMemptyUFMeltsUFMelemUFM_DirectlyelemUFM disjointUFMdelListFromUFM_DirectlydelListFromUFMdelFromUFM_Directly delFromUFManyUFMalterUFMallUFMadjustUFM_Directly adjustUFMaddToUFM_Directly addToUFM_C addToUFM_AccaddToUFMaddListToUFM_DirectlyaddListToUFM_C addListToUFMGHC.Types.UniqueUnique Uniquable getUnique unpkUnique uNIQUE_BITS stepUniquepprUniqueAlwaysnonDetCmpUnique newTagUniquemkUniqueGrimilymkUnique mkLocalUniqueminLocalUniquemaxLocalUniqueltUniqueisValidKnownKeyUnique incrUniquehasKeygetKeyeqUniqueOccName occNameFS occNameSpace HasOccNameoccName occNameString mkVarOccFSmkRecFldSelOccGHC.Data.FastString PtrStringNonDetFastStringLexicalFastString FastZString FastStringuniqn_charsfs_zencfs_sbszString zEncodeFSunsafeMkByteStringunpackPtrStringunpackFS uniqueOfFS uniqCompareFSunconsFSsLitnullFSnilFS mkPtrString# mkPtrStringmkFastStringShortByteStringmkFastStringBytesmkFastStringByteStringmkFastStringByteList mkFastString# mkFastStringlexicalCompareFSlengthPS lengthFZSlengthFSisUnderscoreFSheadFShPutFZShPutFSgetFastStringZEncCountergetFastStringTablefsLitfastZStringToByteStringfastStringToShortByteStringfastStringToByteStringconsFSconcatFSbytesFSappendFSSDoc ModuleName_aeNextaeEnvaeOffset gforMIndexedControl.Exception.BasetrytransferEntryDP fixOneEntry setEntryDP exactPrintUGHC.Base SemigroupMonoid firstMatch needsParensinsertDependentRewrites renameBinder replaceImpl CPPBranchCPPTree mkCPPTree cppTreeToList insertImports RetrieView:>>=RetrieInstructionIOControl.Monad.IO.ClassliftIOgetComplistenTransformTtransformers-0.5.6.2Control.Monad.Trans.RWS.LazyrwsRWSTRWS allMatchesaddLocalFixitiesData.TraversableforM commandStep runOneModulemempty