h*<       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                               ! ! ! ! ! ! ! ! ! " "#1.2.3" Safe-Inferred%&jretrieOnly returns located pat if there is a genuine location available.retrie5Will always give a location, but it may be noSrcSpan. tu vwxyabcdefghijklz{|}~mpqrs !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!noabcdefghijklvwxz{|}~myno Safe-Inferred4 tupqrs tupqrs Safe-Inferred8.retrieEnvironment 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 indices!retrie-Map from OccName of binder to de-bruijn index!retrie0Initial 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-Inferred91retrie"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-Inferred6;; 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 query56789:;<=>?@AB'()*+,-/0.1234  !"#$%&CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`56789:;<=>?@AB'()*+,-/0.1234  !"#$%&CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` Safe-Inferred%&679G 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-InferredIretrieReturns 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%&(LlretrieRe-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-InferredQ retrie)Sum type of possible substitution values.retrie retrie retrieretrieAlpha-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-InferredQretrieThis is an over-approximation, but that is fine for our purposes.  Safe-Inferred 39Q  Safe-Inferred39R Safe-Inferred"%&(39STretrie2Determine if two expressions are alpha-equivalent. Safe-Inferred 379WretrieThe 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%&)*3679jb'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%&kretrie!Specifies which parser to use in "$. Safe-Inferred%&o(retrie'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%&(6o!retriehsExprNeedsParens is not always up-to-date, so this allows us to override Safe-Inferredp~retrie0Compile a list of RULES into a list of rewrites. Safe-Inferredp Safe-Inferred%&')*p Safe-Inferred%&u 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(uretriePerform the given  on an AST, avoiding variable capture by alpha-renaming binders as needed. Safe-Inferred%&xlretrieUsed 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"%&zN!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 %&)*9"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 synonym retrieFold a pattern synonym, replacing instances of the rhs with the synonym retrieA qualified name. (e.g. "Module.Name.functionName")   Safe-Inferred%&"retrieFind the first valid match. Runs the user's  and sanity checks the result.   Safe-Inferred4   Safe-Inferred"%&4k! 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%&d 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&'g&'h&'i&'j&'k&'l&'m&'n&'o&'p&'q&'r&'s&'t&'u&'v&'w&'x&'y&'z&'{&'|&'}&'~&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'                                                                                                              "                                                        ! ! ! ! ! ! ! ! ! "%"$                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!!!!!!!!!&!!!!!!&!!&!!!!!!!!!!!!!!!!!!!+,!&!!!!!!!!!!!!!! !&!! !!!&!!!#retrie-1.2.3-6d1nVJzdqy2D4vk1kcwwWC 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.RunRetrieretrie parseQueries parseRewritesbase Data.DataDataData.Typeable.InternalTypeableghc-prim GHC.TypesTyConData.Type.Equality:~~:HRefl:~:Refl Data.ProxyProxy tyConPackage tyConModule tyConNametyConFingerprintrnfTyCon trLiftedRep Data.TypeableTypeReptypeOftypeRep showsTypeRepcasteqTheqTgcastgcast1gcast2 funResultTymkFunTy splitTyConApp typeRepArgs typeRepTyContypeRepFingerprint rnfTypeReptypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7ConIndex ConstrRep AlgConstr IntConstr FloatConstr CharConstrDataRepAlgRepIntRepFloatRepCharRepNoRepConstrDataTypegfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMo fromConstr fromConstrB fromConstrM dataTypeName dataTypeRep constrType constrRep repConstr mkDataType mkConstrTagmkConstrdataTypeConstrs constrFields constrFixity showConstr readConstr isAlgType indexConstr constrIndexmaxConstrIndex mkIntType mkFloatType mkCharTypemkIntegralConstr mkRealConstr mkCharConstr mkNoRepType isNorepType tyconUQname tyconModuleghc-boot-th-9.6.3GHC.ForeignSrcLang.TypeForeignSrcLangLangCLangCxxLangObjc LangObjcxxLangAsmLangJs RawObjectghcLanguage.Haskell.Syntax.BasicConTagBoxityBoxedUnboxedisBoxedGHC.Utils.Outputable OutputablepprGHC.Types.FixityFixityDirectionInfixLInfixRInfixNFixityLanguage.Haskell.Syntax.Type PromotionFlag NotPromoted IsPromoted isPromotedGHC.Types.BasicDefaultingStrategyDefaultKindVarsNonStandardDefaultingNonStandardDefaultingStrategyDefaultNonStandardTyVars TryNotToDefaultNonStandardTyVarsTypeOrConstraintTypeLikeConstraintLikeLevityLiftedUnlifted TypeOrKind TypeLevel KindLevel IntWithInfUnfoldingSource VanillaSrc StableUserSrcStableSystemSrc CompulsorySrc InlineSpecInline InlinableNoInlineOpaqueNoUserInlinePrag RuleMatchInfoConLikeFunLike InlinePragmainl_src inl_inlineinl_satinl_actinl_rule Activation AlwaysActive ActiveBefore ActiveAfter FinalActive NeverActive CompilerPhase InitialPhasePhase FinalPhasePhaseNum SuccessFlag SucceededFailed DefMethSpec VanillaDM GenericDM TailCallInfoAlwaysTailCalledNoTailCallInfo InsideLam IsInsideLam NotInsideLamInterestingCxt IsInterestingNotInteresting BranchCountOccInfoManyOccsIAmDeadOneOccIAmALoopBreakerocc_tail occ_in_lamocc_n_br occ_int_cxtocc_rules_onlyfromEPtoEPUnboxedTupleOrSumUnboxedTupleTypeUnboxedSumType TupleSort BoxedTuple UnboxedTupleConstraintTuplePprPrec OverlapMode NoOverlap Overlappable OverlappingOverlaps Incoherent OverlapFlag overlapMode isSafeOverlapOrigin FromSource GeneratedRecFlag Recursive NonRecursiveCbvMark MarkedCbv NotMarkedCbv TopLevelFlagTopLevel NotTopLevelRuleNameFunctionOrData IsFunctionIsDataSwapFlag NotSwapped IsSwapped OneShotInfo NoOneShotInfo OneShotLam AlignmentalignmentBytesConTagZ FullArgCount JoinArityRepArityArity LeftOrRightCLeftCRightpickLR fIRST_TAG mkAlignment alignmentOf noOneShotInfo isOneShotInfohasNoOneShotInfo worstOneShot bestOneShotflipSwap isSwappedunSwap pprRuleName isNotTopLevel isTopLevel isMarkedCbvisRecisNonRec boolToRecFlag isGeneratedsetOverlapModeMaybehasIncoherentFlaghasOverlappableFlaghasOverlappingFlagtopPrecsigPrecfunPrecopPrecstarPrecappPrecmaxPrec maybeParentupleSortBoxityboxityTupleSort tupleParens sumParenspprAlternativeunboxedTupleOrSumExtension oneBranch noOccInfo isNoOccInfo isManyOccs seqOccInfo tailCallInfozapOccTailCallInfoisAlwaysTailCalledstrongLoopBreakerweakLoopBreakerisWeakLoopBreakerisStrongLoopBreaker isDeadOccisOneOcc zapFragileOcc successIf succeededfailed beginPhase activeAfter nextPhase laterPhaseactivateAfterInitialactivateDuringFinalisActiveactiveInFinalPhase isNeverActiveisAlwaysActive competesWith isConLike isFunLikenoUserInlineSpecdefaultInlinePragmaalwaysInlinePragmaneverInlinePragmaalwaysInlineConLikePragmainlinePragmaSpecinlinePragmaSourceinlineSpecSourcedfunInlinePragmaisDefaultInlinePragmaisInlinePragmaisInlinablePragmaisNoInlinePragmaisAnyInlinePragmaisOpaquePragmainlinePragmaSatinlinePragmaActivationinlinePragmaRuleMatchInfosetInlinePragmaActivationsetInlinePragmaRuleMatchInfoinlinePragmaName pprInlinepprInlineDebugisStableUserSourceisStableSystemSourceisCompulsorySourceisStableSourceinfinity intGtLimit subWithInftreatZeroAsInf mkIntWithInf isTypeLevel isKindLevel mightBeLiftedmightBeUnlifteddefaultNonStandardTyVarsGHC.Driver.PprshowSDoc-ghc-exactprint-1.7.1.0-BKgUY9dsJkNLBneZK1bX3a%Language.Haskell.GHC.ExactPrint.TypesCommentshowGhc%Language.Haskell.GHC.ExactPrint.UtilsdebugEnabledFlagdebugMwarn isGoodDeltass2delta ss2deltaEnd ss2deltaStart pos2deltaundelta undeltaSpanadjustDeltaForOffsetss2pos ss2posEndss2rangers2rangersrange2rsbadRealSrcSpan spanLengthisPointSrcSpan orderByKey isListComp needsWhereinsertCppCommentsghcCommentText tokCommenthsDocStringCommentsdedentDocChunkdedentDocChunkByprintDecorator mkEpaCommentscomment2LEpaComment mkLEpaComment mkCommentnormaliseCommentText cmpComments sortCommentssortEpaComments mkKWComment isKWComment noKWCommentssortAnchorLocated dpFromStringisSymbolRdrNamerdrName2String name2StringlocatedAnAnchor setAnchorAn setAnchorEpa setAnchorEpaLsetAnchorHsModule moveAnchortrailingAnnLocsetTrailingAnnLoc addEpAnnLocanchorToEpaLocationhackSrcSpanToAnchorhackAnchorToSrcSpan'Language.Haskell.GHC.ExactPrint.ParsersLibDir parseModule$Language.Haskell.GHC.ExactPrint.DumpBlankEpAnnotationsNoBlankEpAnnotations BlankSrcSpanBlankSrcSpanFileNoBlankSrcSpan showAstData*Language.Haskell.GHC.ExactPrint.ExactPrint ExactPrintgetAnnotationEntrysetAnnotationAnchorexactshowAst exactPrint makeDeltaAst)Language.Haskell.GHC.ExactPrint.Transform HasTransformliftT WithWhere WithoutWhereHasDeclshsDecls replaceDecls TransformT unTransformT Transform runTransform runTransformTrunTransformFromrunTransformFromThoistTransformlogTrlogDataWithAnnsTruniqueSrcSpanTisUniqueSrcSpan captureOrdercaptureMatchLineSpacingcaptureLineSpacingcaptureTypeSigSpacing decl2Binddecl2SigwrapSigwrapDecl getEntryDPtransferEntryDP'balanceCommentsListbalanceCommentsbalanceCommentsList' anchorEofnoAnnSrcSpanDPnoAnnSrcSpanDP0noAnnSrcSpanDP1noAnnSrcSpanDPnd0d1dnm0m1mnaddCommainsertAt insertAtStart insertAtEnd insertAfter insertBeforehsDeclsPatBindDhsDeclsPatBindreplaceDeclsPatBindDreplaceDeclsPatBindhsDeclsValBindsreplaceDeclsValbinds modifyValD modifyDeclsT"syb-0.7.2.4-97bJGKMkEYNBCo9l0FCWvEData.Generics.AliasesGeneric' unGeneric'GenericGenericRGenericB GenericM'GMunGMGenericM GenericQ'GQunGQGenericQ GenericT'GTunGTGenericTmkTmkQmkMmkMpmkRext0extTextQextMextMpextBextRorElsechoiceMpchoiceQ recoverMprecoverQext1ext1Text1Mext1Qext1Rext1Bext2ext2Text2Mext2Qext2Rext2BData.Generics.BuildersemptyconstrsData.Generics.Schemes everywhere everywhere' everywhereBut everywhereM somewhere everything everythingButeverythingWithContextlistify something synthesizegsizeglengthgdepthgcount gnodecount gtypecount gfindtypeData.Generics.TextgshowgshowsgreadData.Generics.Twins gfoldlAccum gmapAccumT gmapAccumA gmapAccumM gmapAccumQl gmapAccumQr gmapAccumQ gzipWithT gzipWithM gzipWithQgeqgzipgcompareRuleInforiName 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 deValBindsemptyBMapWrapperemptySMapWrapperemptyTyMapWrappersplitVisBindersextractBinderInfofieldsToRdrNamesUpd$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 emptyContextsubstChangeNoChange 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 writeExtract GHC.Data.BagBagemptyBagunitBag lengthBagelemBag unionManyBags unionBagsconsBagsnocBag isEmptyBagisSingletonBag filterBag filterBagMallBaganyBaganyBagM concatBag catBagMaybes partitionBagpartitionBagWithfoldBagmapBag concatMapBagconcatMapBagPair mapMaybeBagmapBagMmapBagM_ flatMapBagMflatMapBagPairMmapAndUnzipBagM mapAccumBagL mapAccumBagLM listToBag nonEmptyToBag bagToListunzipBag headMaybeGHC.Data.FastString PtrStringLexicalFastStringNonDetFastString FastStringuniqn_charsfs_sbsfs_zenc FastZStringbytesFSfastStringToByteStringfastStringToShortByteStringfastZStringToByteStringunsafeMkByteStringhPutFZSzString zStringTakeN lengthFZSlexicalCompareFS uniqCompareFS mkFastString#mkFastStringBytesmkFastStringByteStringmkFastStringShortByteString mkFastStringmkFastStringByteListlengthFSnullFSunpackFS zEncodeFSappendFSconcatFSconsFSunconsFS uniqueOfFSnilFSgetFastStringTablegetFastStringZEncCounterhPutFS mkPtrString#unpackPtrStringunpackPtrStringTakeNlengthPSfsLitGHC.Data.FastString.EnvDFastStringEnv FastStringEnv emptyFsEnv unitFsEnv extendFsEnvextendFsEnvList lookupFsEnv alterFsEnvmkFsEnv elemFsEnv plusFsEnv plusFsEnv_C extendFsEnv_CmapFsEnvextendFsEnv_AccextendFsEnvList_C delFromFsEnvdelListFromFsEnv filterFsEnvlookupFsEnv_NF emptyDFsEnv dFsEnvEltsmkDFsEnv lookupDFsEnvGHC.Driver.Errors printMessageshandleFlagWarningsprintOrThrowDiagnosticsmkDriverPsHeaderMessageLanguage.Haskell.Syntax.Decls DerivStrategy StockStrategyAnyclassStrategyNewtypeStrategy ViaStrategyInjectivityAnnXInjectivityAnnRuleBndr RuleBndrSig XRuleBndrFunDepXFunDepBangTypeLanguage.Haskell.Syntax.ExprStmtMatchXMatchm_extm_ctxtm_patsm_grhssLanguage.Haskell.Syntax.PatPatWildPatVarPatLazyPatAsPatParPatBangPatListPatTuplePatSumPatConPatViewPat SplicePatLitPatNPat NPlusKPatSigPatXPat pat_con_extpat_conpat_argsGHC.Parser.Annotation AnnKeywordIdAnnOpen AnnHeaderAnnValAnnCloseAnnType AnnBackquoteAnnTilde AnnPattern AnnDotdotAnnComma AnnModule AnnImportAnnSafe AnnQualifiedAnnPackageNameAnnAs AnnHidingAnnSemi AnnDcolon AnnForallAnnDot AnnDarrow AnnRarrowAnnBangAnnUnitAnnEqual AnnDefaultAnnInfix AnnInstanceAnnVbar AnnLarrowAnnWhereAnnFunIdAnnRole AnnForeign AnnExport AnnDerivingAnnStock AnnNewtypeAnnData AnnFamilyAnnOpenP AnnClosePAnnClassAnnThenAnnByAnnGroupAnnUsingAnnLetAnnRec Annlarrowtail Annrarrowtail AnnLarrowtail AnnRarrowtailAnnOpenB AnnCloseBAnnLamAnnCaseAnnOfAnnCasesAnnIfAnnElseAnnInAnnDoAnnColonAnnMinusAnnOpenE AnnOpenEQ AnnCloseQAnnProc AnnStatic AnnAnyclass AnnCloseBU AnnCloseC AnnCloseQU AnnClosePH AnnCloseS AnnCommaTuple AnnDarrowU AnnDcolonU AnnForallU AnnLarrowU AnnLollyUAnnMdoAnnName AnnOpenBUAnnOpenC AnnOpenEQUAnnOpenS AnnOpenPH AnnDollarAnnDollarDollar AnnPercent AnnPercentOne AnnRarrowUAnnSimpleQuote AnnSignature AnnThTyQuote AnnValStrAnnViaAnnlarrowtailUAnnrarrowtailUAnnLarrowtailUAnnRarrowtailUAnnDecl HsAnnotationXAnnDeclLanguage.Haskell.Syntax.ImpExpIEIEVar IEThingAbs IEThingAll IEThingWithIEModuleContentsIEGroupIEDoc IEDocNamedXIEHsExprHsUntypedSplice HsOverLitHsLitHsPragEHsVar HsUnboundVarHsRecSel HsOverLabelHsIPVarHsLam HsLamCaseHsApp HsAppTypeOpAppNegAppHsParSectionLSectionR ExplicitTuple ExplicitSumHsCaseHsIf HsMultiIfHsLetHsDo ExplicitList RecordCon RecordUpd HsGetField HsProjection ExprWithTySigArithSeqHsTypedBracketHsUntypedBracket HsTypedSpliceHsProcHsStaticXExprrcon_extrcon_con rcon_fldsrupd_ext rupd_expr rupd_fldsgf_extgf_exprgf_fieldproj_ext proj_flds!Language.Haskell.Syntax.Extension NoExtFieldSrcUnpackedness SrcUnpack SrcNoUnpack NoSrcUnpack SrcStrictnessSrcLazy SrcStrict NoSrcStrictNoGhcTcXXIEWrappedNameXIEType XIEPatternXIENameXXIE XIEDocNamedXIEDocXIEGroupXIEModuleContents XIEThingWith XIEThingAll XIEThingAbsXIEVarImportDeclPkgQual XXImportDecl XCImportDecl XXFieldOcc XCFieldOccXXConDeclField XConDeclField XXTyVarBndr XKindedTyVar XUserTyVarXXHsForAllTelescopeXHsForAllInvis XHsForAllVisXXTyLitXCharTyXStrTyXNumTyXXType XWildCardTyXTyLitXExplicitTupleTyXExplicitListTyXRecTyXBangTyXDocTy XSpliceTyXKindSigXStarTy XIParamTyXParTyXOpTyXSumTyXTupleTyXListTyXFunTy XAppKindTyXAppTyXTyVarXQualTy XForAllTyXXHsPatSigTypeXHsPSXXHsWildCardBndrsXHsWC XXHsSigTypeXHsSigXXHsOuterTyVarBndrsXHsOuterExplicitXHsOuterImplicit XXLHsQTyVarsXHsQTvs XHsFieldBindXXPatXCoPatXSigPat XNPlusKPatXNPatXLitPat XSplicePatXViewPatXConPatXSumPat XTuplePatXListPatXBangPatXParPatXAsPatXLazyPatXVarPatXWildPat XXOverLitXOverLitXXLit XHsDoublePrim XHsFloatPrimXHsRat XHsInteger XHsWord64Prim XHsInt64Prim XHsWordPrim XHsIntPrimXHsInt XHsStringPrim XHsString XHsCharPrimXHsCharXXApplicativeArgXApplicativeArgManyXApplicativeArgOneXXParStmtBlock XParStmtBlockXXCmdXCmdWrapXCmdDoXCmdLetXCmdIf XCmdLamCaseXCmdCaseXCmdParXCmdLamXCmdApp XCmdArrForm XCmdArrAppXXStmtLRXRecStmt XTransStmtXParStmtXLetStmt XBodyStmtXApplicativeStmt XBindStmt XLastStmtXXGRHSXCGRHSXXGRHSsXCGRHSsXXMatchXCMatch XXMatchGroupXMGXXCmdTopXCmdTopXXQuoteXVarBrXTypBrXDecBrGXDecBrLXPatBrXExpBrXXUntypedSplice XQuasiQuoteXUntypedSpliceExprXXTupArgXMissingXPresentXXAmbiguousFieldOcc XAmbiguous XUnambiguousXXPragEXSCC XXDotFieldOcc XCDotFieldOccXXExprXPragEXBinTickXTickXStaticXProcXUntypedSplice XTypedSpliceXUntypedBracket XTypedBracket XArithSeqXExprWithTySig XProjection XGetField XRecordUpd XRecordCon XExplicitListXDoXLetXMultiIfXIfXCase XExplicitSumXExplicitTuple XSectionR XSectionLXParXNegAppXOpApp XAppTypeEXAppXLamCaseXLamXLitE XOverLitEXIPVar XOverLabelXRecSel XUnboundVarXVarXXModuleXCModuleXXInjectivityAnnXCInjectivityAnnXXRoleAnnotDeclXCRoleAnnotDecl XXAnnDecl XHsAnnotation XXWarnDeclXWarning XXWarnDecls XWarnings XXRuleBndr XRuleBndrSig XCRuleBndr XXRuleDeclXHsRule XXRuleDecls XCRuleDeclsXXForeignExportXCExportXXForeignImportXCImport XXForeignDeclXForeignExportXForeignImport XXDefaultDecl XCDefaultDecl XViaStrategyXNewtypeStrategyXAnyClassStrategyXStockStrategy XXDerivDecl XCDerivDecl XXInstDecl XTyFamInstD XDataFamInstD XClsInstD XXClsInstDecl XCClsInstDeclXXTyFamInstDeclXCTyFamInstDeclXXFamEqnXCFamEqn XXConDecl XConDeclH98 XConDeclGADTXXDerivClauseTys XDctMulti XDctSingleXXHsDerivingClauseXCHsDerivingClause XXHsDataDefn XCHsDataDefn XXFamilyDecl XCFamilyDeclXXFamilyResultSig XTyVarSig XCKindSigXNoSig XXTyClGroup XCTyClGroupXXFunDepXCFunDep XXTyClDecl XClassDecl XDataDeclXSynDeclXFamDecl XXSpliceDecl XSpliceDecl XXHsGroup XCHsGroupXXHsDecl XRoleAnnotDXDocDXSpliceDXRuleDXAnnD XWarningDXForDXDefD XKindSigDXSigDXValDXDerivDXInstDXTyClDXXStandaloneKindSigXStandaloneKindSig XXFixitySig XFixitySigXXSigXCompleteMatchSig XSCCFunSig XMinimalSig XSpecInstSigXSpecSig XInlineSigXFixSigXIdSig XClassOpSig XPatSynSigXTypeSigXXIPBindXCIPBind XXHsIPBindsXIPBinds XXPatSynBindXPSB XXHsBindsLR XPatSynBindXVarBindXPatBindXFunBind XXValBindsLR XValBindsXXHsLocalBindsLRXEmptyLocalBinds XHsIPBinds XHsValBindsLIdPIdPWrapXRecwrapXRecMapXRecmapXRecUnXRecunXRecAnnoXRecDataConCantHappen#Language.Haskell.Syntax.Module.Name ModuleNameIsBootInterfaceNotBootIsBootGHC.Core.TyCo.RepMult Language.Haskell.Syntax.Concrete LayoutInfoExplicitBraces VirtualBraces NoLayoutInfo HsUniToken HsNormalTok HsUnicodeTokHsTokenHsTok LHsUniTokenLHsTokenGHC.Hs.DocStringHsDocStringChunkLHsDocStringChunkHsDocStringDecoratorHsDocStringNextHsDocStringPreviousHsDocStringNamedHsDocStringGroup HsDocStringMultiLineDocStringNestedDocStringGeneratedDocString LHsDocStringLPatLHsExpr SyntaxExprGRHSsXGRHSsgrhssExt grhssGRHSsgrhssLocalBinds MatchGroupMG XMatchGroupmg_extmg_altsHsUntypedSpliceExpr HsQuasiQuoteNoEpAnnsEpAnnCO AnnSortKey NoAnnSortKey AnnPragmaapr_open apr_closeapr_rest NameAdornment NameParensNameParensHashNameBackquotes NameSquareNameAnn NameAnnCommas NameAnnBars NameAnnOnly NameAnnRArrow NameAnnQuoteNameAnnTrailingnann_adornment nann_open nann_name nann_close nann_trailing nann_commas nann_bars nann_quote nann_quoted AnnContext ac_darrowac_openac_close ParenType AnnParens AnnParensHashAnnParensSquareAnnParen ap_adornmentap_openap_closeAnnList al_anchoral_openal_closeal_rest al_trailing AnnListItem lann_trailing TrailingAnn AddSemiAnn AddCommaAnn AddVbarAnn LocatedAn SrcSpanAnnC SrcSpanAnnP SrcSpanAnnL SrcSpanAnnN SrcSpanAnnALocatedCLocatedPLocatedLLocatedNLocatedASrcAnn SrcSpanAnn' SrcSpanAnnannlocA LEpaComment EpAnnComments EpaCommentsEpaCommentsBalanced priorCommentsfollowingCommentsAnchorOperationUnchangedAnchor MovedAnchorAnchoranchor anchor_opEpAnn EpAnnNotUsedentryannscommentsDeltaPosSameLine DifferentLine deltaColumn deltaLine TokenLocation NoTokenLocTokenLoc EpaLocationEpaSpanEpaDeltaAddEpAnn EpaCommentTok EpaDocComment EpaDocOptionsEpaLineCommentEpaBlockComment EpaEofComment EpaCommentac_tok ac_prior_tokHasENoEIsUnicodeSyntax UnicodeSyntax NormalSyntaxGHC.Hs.ExtensionOutputableBndrId NoGhcTcPassIdGhcPIsPassghcPassGhcTcGhcRnGhcPsPassParsedRenamed TypecheckedGhcPass IsSrcSpanAnn GHC.Hs.DocExtractedTHDocsethd_mod_headerethd_decl_docs ethd_arg_docsethd_inst_docsDocs docs_mod_hdr docs_decls docs_argsdocs_structuredocs_named_chunksdocs_haddock_opts docs_languagedocs_extensions DocStructureDocStructureItemDsiSectionHeading DsiDocChunkDsiNamedChunkRef DsiExports DsiModExportLHsDocWithHsDocIdentifiers hsDocStringhsDocIdentifiersHsDocLIEWrappedName IEWrappedNameIEName IEPatternIETypeXIEWrappedName IEWildcard NoIEWildcardLIEImportListInterpretationExactly EverythingBut ImportDecl XImportDeclideclExt ideclName ideclPkgQual ideclSource ideclSafeideclQualifiedideclAsideclImportListImportDeclQualifiedStyle QualifiedPre QualifiedPost NotQualified LImportDecl GHC.Hs.ImpExpEpAnnImportDeclimportDeclAnnImportimportDeclAnnPragmaimportDeclAnnSafeimportDeclAnnQualifiedimportDeclAnnPackageimportDeclAnnAsXImportDeclPassideclAnnideclSourceText ideclImplicitLanguage.Haskell.Syntax.Lit OverLitVal HsIntegral HsFractional HsIsStringOverLitol_extol_valHsChar HsCharPrimHsString HsStringPrimHsInt HsIntPrim HsWordPrim HsInt64Prim HsWord64Prim HsIntegerHsRat HsFloatPrim HsDoublePrimXLitGHC.Core.DataCon HsImplBangHsLazyHsStrictHsUnpack HsSrcBangAmbiguousFieldOcc Unambiguous AmbiguousXAmbiguousFieldOccLAmbiguousFieldOccFieldOcc XFieldOccfoExtfoLabel LFieldOcc LHsTypeArgHsArgHsValArg HsTypeArgHsArgPar HsConDetails PrefixConRecConInfixCon ConDeclField cd_fld_ext cd_fld_names cd_fld_type cd_fld_doc LConDeclField HsTupleSortHsUnboxedTupleHsBoxedOrConstraintTupleHsScaledHsLinearArrowTokensHsPct1HsLollyHsArrowHsUnrestrictedArrow HsLinearArrowHsExplicitMultHsTyLitHsNumTyHsStrTyHsCharTyHsType HsForAllTyHsQualTyHsTyVarHsAppTy HsAppKindTyHsFunTyHsListTy HsTupleTyHsSumTyHsOpTyHsParTy HsIParamTyHsStarTy HsKindSig HsSpliceTyHsDocTyHsBangTyHsRecTyHsExplicitListTyHsExplicitTupleTy HsWildCardTyXHsType hst_xforallhst_telehst_body hst_xqualhst_ctxt HsTyVarBndr UserTyVar KindedTyVar XTyVarBndrHsIPName HsSigTypeHsSig XHsSigTypesig_ext sig_bndrssig_body LHsSigWcType LHsWcType LHsSigType HsPatSigTypeHsPS XHsPatSigTypehsps_ext hsps_bodyHsWildCardBndrsHsWCXHsWildCardBndrshswc_ext hswc_bodyHsOuterFamEqnTyVarBndrsHsOuterSigTyVarBndrsHsOuterTyVarBndrsHsOuterImplicitHsOuterExplicitXHsOuterTyVarBndrs hso_ximplicit hso_xexplicit hso_bndrs LHsQTyVarsHsQTvs XLHsQTyVarshsq_ext hsq_explicit LHsTyVarBndrHsForAllTelescope HsForAllVis HsForAllInvisXHsForAllTelescopehsf_xvis hsf_vis_bndrs hsf_xinvishsf_invis_bndrsLHsKindHsKindLHsType HsContext LHsContext LBangType HsFieldBindhfbAnnhfbLHShfbRHShfbPun HsRecUpdField HsRecFieldLHsRecUpdField LHsRecField LHsFieldBindRecFieldsDotDotunRecFieldsDotDot HsRecFieldsrec_flds rec_dotdotHsConPatDetails HsConPatTyArgConLikePLanguage.Haskell.Syntax.Binds HsPatSynDirUnidirectionalImplicitBidirectionalExplicitBidirectionalRecordPatSynFieldrecordPatSynFieldrecordPatSynPatVarHsPatSynDetails FixitySig LFixitySigSigTypeSig PatSynSig ClassOpSigFixSig InlineSigSpecSig SpecInstSig MinimalSig SCCFunSigCompleteMatchSigXSigLSigIPBindXIPBindLIPBind HsIPBindsIPBinds PatSynBindPSBpsb_extpsb_idpsb_argspsb_defpsb_dirHsBindLRFunBindPatBindVarBind XHsBindsLRfun_extfun_id fun_matchespat_extpat_lhspat_rhsvar_extvar_idvar_rhs LHsBindLR LHsBindsLRHsBindLHsBindsLHsBind HsValBindsLRValBinds XValBindsLR HsValBindsLHsLocalBindsLRHsLocalBindsLREmptyLocalBindsXHsLocalBindsLR LHsLocalBinds HsLocalBinds RoleAnnotDeclXRoleAnnotDeclLRoleAnnotDecl AnnProvenanceValueAnnProvenanceTypeAnnProvenanceModuleAnnProvenanceLAnnDeclWarnDeclWarning XWarnDecl LWarnDecl WarnDeclsWarnings XWarnDeclswd_ext wd_warnings LWarnDeclsDocDeclDocCommentNextDocCommentPrevDocCommentNamedDocGroupLDocDecl LRuleBndrRuleDeclHsRule XRuleDeclrd_extrd_namerd_actrd_tyvsrd_tmvsrd_lhsrd_rhs LRuleDecl RuleDeclsHsRules XRuleDeclsrds_ext rds_rules LRuleDecls ForeignExportCExport CImportSpecCLabel CFunctionCWrapper ForeignImportCImport ForeignDecl XForeignDeclfd_i_extfd_name fd_sig_tyfd_fifd_e_extfd_fe LForeignDecl DefaultDecl XDefaultDecl LDefaultDeclLDerivStrategy DerivDecl XDerivDecl deriv_ext deriv_typederiv_strategyderiv_overlap_mode LDerivDeclInstDeclClsInstD DataFamInstD TyFamInstD XInstDecl cid_d_extcid_instdfid_ext dfid_insttfid_ext tfid_inst LInstDecl ClsInstDecl XClsInstDeclcid_ext cid_poly_ty cid_bindscid_sigscid_tyfam_instscid_datafam_instscid_overlap_mode LClsInstDeclFamEqnXFamEqnfeqn_ext feqn_tycon feqn_bndrs feqn_pats feqn_fixityfeqn_rhsDataFamInstDecldfid_eqnLDataFamInstDecl TyFamInstDeclXTyFamInstDecltfid_xtntfid_eqnLTyFamInstDeclLTyFamDefltDeclTyFamDefltDecl TyFamInstEqnHsTyPats LTyFamInstEqnHsConDeclGADTDetails PrefixConGADT RecConGADTHsConDeclH98DetailsConDecl ConDeclGADT ConDeclH98XConDecl con_g_ext con_names con_dcolon con_bndrs con_mb_cxt con_g_args con_res_tycon_doccon_extcon_name con_forall con_ex_tvscon_argsLConDecl DataDefnCons NewTypeCon DataTypeCons NewOrDataNewTypeStandaloneKindSigLStandaloneKindSigDerivClauseTys DctSingleDctMultiXDerivClauseTysLDerivClauseTysHsDerivingClauseXHsDerivingClausederiv_clause_extderiv_clause_strategyderiv_clause_tysLHsDerivingClause HsDeriving HsDataDefn XHsDataDefndd_extdd_ctxtdd_cType dd_kindSigdd_cons dd_derivs FamilyInfo DataFamilyOpenTypeFamilyClosedTypeFamilyLInjectivityAnn FamilyDecl XFamilyDeclfdExtfdInfo fdTopLevelfdLNamefdTyVarsfdFixity fdResultSigfdInjectivityAnn LFamilyDeclFamilyResultSigNoSigKindSigTyVarSigXFamilyResultSigLFamilyResultSig TyClGroup XTyClGroup group_ext group_tyclds group_roles group_kisigs group_instds LHsFunDepTyClDeclFamDeclSynDeclDataDecl ClassDecl XTyClDecltcdFExttcdFamtcdSExttcdLName tcdTyVars tcdFixitytcdRhstcdDExt tcdDataDefntcdCExt tcdLayouttcdCtxttcdFDstcdSigstcdMethstcdATs tcdATDefstcdDocs LTyClDeclSpliceDecoration DollarSplice BareSplice SpliceDecl LSpliceDeclHsGroupXHsGrouphs_exths_valds hs_splcds hs_tyclds hs_derivdshs_fixdshs_defdshs_fords hs_warndshs_annds hs_ruledshs_docsHsDeclTyClDInstDDerivDValDSigDKindSigDDefDForDWarningDAnnDRuleDSpliceDDocD RoleAnnotDXHsDeclLHsDecl HsDoFlavourDoExprMDoExpr GhciStmtCtxtListComp MonadCompHsArrowMatchContextProcExpr ArrowCaseAltArrowLamCaseAlt KappaExpr HsStmtContextHsDoStmtPatGuard ParStmtCtxt TransStmtCtxt ArrowExprHsMatchContextFunRhs LambdaExprCaseAlt LamCaseAltIfAltArrowMatchCtxt PatBindRhs PatBindGuardsRecUpdStmtCtxt ThPatSplice ThPatQuotePatSynmc_fun mc_fixity mc_strictness ArithSeqInfoFromFromThenFromTo FromThenToHsQuoteExpBrPatBrDecBrLDecBrGTypBrVarBrXQuoteApplicativeArgApplicativeArgOneApplicativeArgManyXApplicativeArgxarg_app_arg_oneapp_arg_patternarg_expr is_body_stmtxarg_app_arg_many app_stmts final_expr bv_pattern stmt_context FailOperator ParStmtBlock TransFormThenForm GroupFormStmtLRLastStmtBindStmtApplicativeStmtBodyStmtLetStmtParStmt TransStmtRecStmtXStmtLRtrS_exttrS_form trS_stmts trS_bndrs trS_usingtrS_bytrS_rettrS_bindtrS_fmaprecS_ext recS_stmtsrecS_later_ids recS_rec_ids recS_bind_fn recS_ret_fn recS_mfix_fnGhciStmt GhciLStmt GuardStmt GuardLStmtExprStmt ExprLStmtCmdStmtCmdLStmtLStmtLRLStmtGRHSXGRHSLGRHSLMatch HsRecordBindsHsCmdTop LHsCmdTop HsArrAppTypeHsHigherOrderAppHsFirstOrderAppHsCmd HsCmdArrApp HsCmdArrFormHsCmdAppHsCmdLamHsCmdPar HsCmdCase HsCmdLamCaseHsCmdIfHsCmdLetHsCmdDoXCmdLHsCmdLamCaseVariantLamCaseLamCasesHsTupArgPresentMissingXTupArg LHsTupArg HsPragSCCXHsPragE DotFieldOcc XDotFieldOccdfoExtdfoLabel LHsRecUpdProj RecUpdProj LHsRecProjRecProjFieldLabelStringsLFieldLabelStrings GHC.Hs.ExprHsUntypedSpliceResultHsUntypedSpliceTopHsUntypedSpliceNestedutsplice_result_finalizersutsplice_resultThModFinalizersSplicePointNameLanguage.Haskell.SyntaxHsModuleXModulehsmodExt hsmodName hsmodExports hsmodImports hsmodDecls GHC.Hs.TypeOutputableBndrFlagHsCoreTyHsPSRn hsps_nwcs hsps_imp_tvs EpAnnForallTy GHC.Hs.Lit OverLitTc$sel:ol_rebindable:OverLitTc$sel:ol_type:OverLitTc$sel:ol_witness:OverLitTc OverLitRn$sel:ol_from_fun:OverLitRn$sel:ol_rebindable:OverLitRn GHC.Hs.Binds TcSpecPragSpecPrag LTcSpecPrag TcSpecPragsIsDefaultMethod SpecPragsAnnSigasDcolonasRestIdSigunIdSigABExportABEabe_polyabe_monoabe_wrap abe_pragsAbsBindsabs_tvs abs_ev_vars abs_exports abs_ev_binds abs_bindsabs_sig NHsValBindsLR NValBinds GHC.Hs.PatConPatTc cpt_arg_tyscpt_tvs cpt_dicts cpt_bindscpt_wrapHsPatExpansion HsPatExpanded XXPatGhcTcCoPat ExpansionPat co_cpt_wrap co_pat_inner co_pat_ty EpAnnSumPat sumPatParenssumPatVbarsBeforesumPatVbarsAfter GHC.Hs.Decls HsRuleAnn ra_tyanns ra_tmannsra_restHsRuleRnXViaStrategyPs DataDeclRn tcdDataCusktcdFVsPendingTcSplicePendingRnSpliceUntypedSpliceFlavourUntypedExpSpliceUntypedPatSpliceUntypedTypeSpliceUntypedDeclSplice DelayedSplice XBindStmtTc xbstc_bindOpxbstc_boundResultTypexbstc_boundResultMult xbstc_failOp XBindStmtRn xbsrn_bindOp xbsrn_failOp RecStmtTc recS_bind_tyrecS_later_rets recS_rec_rets recS_ret_tyGrhsAnnga_vbarga_sep MatchGroupTc mg_arg_tys mg_res_ty mg_originCmdTopTcCmdSyntaxTable HsExpansion HsExpanded XXExprGhcTcWrapExpr ExpansionExpr ConLikeTcHsTick HsBinTickAnnsIfaiIfaiThenaiElse aiThenSemi aiElseSemi AnnProjectionapOpenapClose AnnFieldLabelafDotAnnExplicitSumaesOpen aesBarsBefore aesBarsAfteraesCloseEpAnnUnboundVarhsUnboundBackquotes hsUnboundHole EpAnnHsCase hsCaseAnnCase hsCaseAnnOfhsCaseAnnsRest HsBracketTc hsb_quotehsb_tyhsb_wrap hsb_splicesHsWrap SyntaxExprTcNoSyntaxExprTcsyn_expr syn_arg_wraps syn_res_wrap SyntaxExprRnNoSyntaxExprRn SyntaxExprGhc PostTcTable PostTcExpr GHC.Hs.Utils CollectPass collectXXPatcollectXXHsBindsLRcollectXSplicePat CollectFlagCollNoDictBindersCollWithDictBindersGHC.HsHsParsedModule hpm_module hpm_src_files AnnsModuleam_mainam_decls XModulePshsmodAnn hsmodLayouthsmodDeprecMessagehsmodHaddockModHeader noExtFielddataConCantHappenstableModuleNameCmp moduleNameFSmoduleNameString mkModuleNamemkModuleNameFSmoduleNameSlashesmoduleNameColonsparseModuleNamepprWithDocStringmkHsDocStringChunk mkHsDocStringChunkUtf8ByteString unpackHDSCmkGeneratedHsDocStringisEmptyDocStringdocStringChunkspprHsDocStringpprHsDocStringsexactPrintHsDocStringrenderHsDocStringrenderHsDocStrings unicodeAnndeltaPos getDeltaLineepaLocationRealSrcSpanepaLocationFromSrcAnn spanAsAnchorrealSpanAsAnchor emptyComments parenTypeKwstrailingAnnToAddEpAnnaddTrailingAnnToLaddTrailingAnnToAaddTrailingCommaToNl2nn2lla2nala2lal2lna2lareLocreLocAreLocLreLocCreLocN realSrcSpan srcSpan2ela2eextraToAnnListreAnnreAnnCreAnnL getLocAnngetLocAnoLocA noAnnSrcSpan noSrcSpanAnoAnnaddAnnsaddAnnsA widenSpan widenAnchor widenAnchorRwidenLocatedAn epAnnAnnsL epAnnAnnsannParen2AddEpAnn epAnnComments sortLocatedAmapLocA combineLocsAcombineSrcSpansAaddCLocA addCLocAAgetFollowingCommentssetFollowingCommentssetPriorComments noCommentsplaceholderRealSpancommentaddCommentsToSrcAnnsetCommentsSrcAnnaddCommentsToEpAnnsetCommentsEpAnn transferAnnsA commentsOnlyAremoveCommentsApprIfPspprIfRnpprIfTcnoHsTok noHsUniTokhsDocIds pprWithDocpprMaybeWithDoc pprHsDocDebug emptyDocsimportDeclQualifiedStyleisImportDeclQualifiedsimpleImportDeclieNameieNamesieWrappedLName ieWrappedNamelieWrappedNameieLWrappedNamereplaceWrappedNamereplaceLWrappedName pprImpExpnegateOverLitVal hsQTvExplicit hsPatSigTypemapHsOuterImplicit hsIPNameFSisHsKindedTyVarhsMult hsScaledThing noTypeArgs hsConPatArgs hsRecFieldshsRecFieldsArgs hsRecFieldSelpprLPat isFixityLSig isTypeLSig isSpecLSigisSpecInstLSig isPragLSig isInlineLSig isMinimalLSig isSCCFunSigisCompleteMatchSighsGroupInstDecls isDataDecl isSynDecl isClassDecl isFamilyDeclisTypeFamilyDeclisOpenTypeFamilyInfoisClosedTypeFamilyInfoisDataFamilyDecltyClDeclTyVarstyClGroupTyClDeclstyClGroupInstDeclstyClGroupRoleDeclstyClGroupKindSigsdataDefnConsNewOrDataisTypeDataDefnConscollectRuleBndrSigTys docDeclDocannProvenanceName_maybe isInfixMatch isPatSynCtxtqualifiedDoModuleName_maybeisComprehensionContextisDoComprehensionContextisMonadStmtContextisMonadDoStmtContextisMonadCompContextisMonadDoCompContext pprFunBind pprPatBindpprUntypedSplicepprTypedSplicepprExprpprLExpr pprParendExpr getBangTypegetBangStrictnessfromMaybeContextmkHsForAllVisTelemkHsForAllInvisTelemkHsQTvs emptyLHsQTvs hsSigWcType dropWildCardshsOuterTyVarNameshsOuterExplicitBndrsmkHsOuterImplicitmkHsOuterExplicitmkHsImplicitSigTypemkHsExplicitSigTypemkHsWildCardBndrsmkHsPatSigTypemkEmptyWildCardBndrshsTyVarBndrFlagsetHsTyVarBndrFlaghsTvbAllKindedhsLinearhsUnrestrictedisUnrestricted arrowToHsType pprHsArrow hsWcScopedTvs hsScopedTvs hsTyVarName hsLTyVarName hsLTyVarNameshsExplicitLTyVarNameshsAllLTyVarNameshsLTyVarLocNamehsLTyVarLocNames hsTyKindSig ignoreParensmkAnonWildCardTymkHsOpTy mkHsAppTy mkHsAppTys mkHsAppKindTysplitHsFunTypehsTyGetAppHead_maybelhsTypeArgSrcSpannumVisibleArgs pprHsArgsAppsplitLHsPatSynTysplitLHsSigmaTyInvissplitLHsGadtTysplitLHsForAllTyInvissplitLHsForAllTyInvis_KPsplitLHsQualTysplitLHsInstDeclTygetLHsInstDeclHeadgetLHsInstDeclClass_maybe mkFieldOccmkAmbiguousFieldOccrdrNameAmbiguousFieldOccselectorAmbiguousFieldOccunambiguousFieldOccambiguousFieldOccpprAnonWildCardpprHsOuterFamEqnTyVarBndrspprHsOuterSigTyVarBndrs pprHsForAll pprLHsContextpprConDeclFields pprHsTypehsTypeNeedsParensparenthesizeHsTypeparenthesizeHsContext pprXOverLit overLitTypehsOverLitNeedsParenshsLitNeedsParens convertLit pmPprHsLit pprLHsBindspprLHsBindsForUser pprDeclListemptyLocalBindseqEmptyLocalBindsisEmptyValBindsemptyValBindsInemptyValBindsOut emptyLHsBindsisEmptyLHsBindsplusHsValBinds ppr_monobindpprTicksisEmptyIPBindsPRisEmptyIPBindsTc noSpecPrags hasSpecPragsisDefaultMethodppr_sighsSigDocextractSpecPragName pragBracketspragSrcBrackets pprVarSigpprSpecpprTcSpecPrags pprMinimalSig hsRecFieldIdhsRecUpdFieldRdrhsRecUpdFieldIdhsRecUpdFieldOcc pprParendLPat pprConArgsmkPrefixConPatmkNilPat mkCharLitPat isBangedLPatlooksLazyPatBindisIrrefutableHsPat isSimplePatpatNeedsParensgParPatparenthesizePatcollectEvVarsPatscollectEvVarsPatpartitionBindsAndSigs emptyRdrGroup emptyRnGrouphsGroupTopLevelFixitySigs appendGroupstyFamInstDeclNametyFamInstDeclLName tyClDeclLNamecountTyClDeclstcdName hsDeclHasCuskpp_vanilla_decl_headpprTyClDeclFlavourfamilyDeclLNamefamilyDeclNamefamResultKindSignatureresultVariableNamederivStrategyNamestandaloneKindSigName getConNamesgetRecConArgs_maybehsConDeclThetappDataDefnHeaderpprTyFamInstDeclpprDataFamInstFlavourpprHsFamInstLHSinstDeclDataFamInstsnewOrDataToFlavour anyLConIsGadtfoldDerivStrategymapDerivStrategyflattenRuleDeclspprFullRuleNameroleAnnotDeclNamenoExpr noSyntaxExpr mkSyntaxExprmkRnSyntaxExpr tupArgPresent isQuietHsExprpprBinds ppr_lexprppr_exprppr_infix_exprppr_infix_expr_rnppr_infix_expr_tcppr_appspprDebugParendExprpprParendLExprhsExprNeedsParensgHsParparenthesizeHsExprstripParensLHsExprstripParensHsExprisAtomicHsExprpprLCmdpprCmd isQuietHsCmdppr_lcmdppr_cmd pprCmdArgisEmptyMatchGroupisSingletonMatchGroupmatchGroupArity hsLMatchPats pprMatchespprMatchpprGRHSspprGRHSpp_rhspprStmt pprBindStmtpprArgpprTransformStmt pprTransStmtpprBypprDo pprArrowExprppr_module_name_prefix ppr_do_stmtspprComppprQualspprPendingSplice ppr_quasi ppr_splice thBrackets thTyBracketsppr_with_pending_tc_splices pp_dotdotlamCaseKeywordpprExternalSrcLoc pprHsArrTypematchContextErrStringmatchArrowContextErrStringmatchDoContextErrStringpprMatchInCtxt pprStmtInCtxtmatchSeparatorpprMatchContextpprMatchContextNounpprMatchContextNounspprArrowMatchContextNounpprArrowMatchContextNounspprAStmtContextpprStmtContext pprStmtCatpprAHsDoFlavourpprHsDoFlavourprependQualifiedpprFieldLabelStringspprPrefixFastStringmkHsPar mkSimpleMatchunguardedGRHSs unguardedRHS mkMatchGroupmkLamCaseMatchGroup mkLocatedListmkHsApp mkHsAppWithmkHsApps mkHsAppsWith mkHsAppType mkHsAppTypesmkHsLammkHsLams mkHsCaseAlt nlHsTyApp nlHsTyAppsmkLHsParmkParPatnlParPat mkRecStmt mkHsIntegralmkHsFractional mkHsIsStringmkHsDo mkHsDoAnnsmkHsComp mkHsCompAnnsmkHsIf mkHsCmdIfmkNPat mkNPlusKPatemptyTransStmtmkTransformStmtmkTransformByStmtmkGroupUsingStmtmkGroupByUsingStmt mkLastStmt mkBodyStmt mkPsBindStmt mkRnBindStmt mkTcBindStmt unitRecStmtTc emptyRecStmtemptyRecStmtNameemptyRecStmtId mkLetStmt mkHsOpApp mkHsString mkHsStringFSmkHsStringPrimLitmkHsCharPrimLit mkConLikeTcnlHsVarnl_HsVar nlHsDataConnlHsLit nlHsIntLitnlVarPatnlLitPatnlHsAppnlHsSyntaxAppsnlHsApps nlHsVarApps nlConVarPatnlConVarPatName nlInfixConPatnlConPat nlConPatNamenlNullaryConPat nlWildConPat nlWildPat nlWildPatNamenlHsDo nlHsOpAppnlHsLamnlHsParnlHsIfnlHsCasenlList nlHsAppTy nlHsTyVar nlHsFunTy nlHsParTy nlHsTyConApp nlHsAppKindTymkLHsTupleExpr mkLHsVarTuple nlTuplePat missingTupArgmkBigLHsVarTup mkBigLHsTupmkBigLHsVarPatTupmkBigLHsPatTuphsTypeToHsSigTypehsTypeToHsSigWcType mkHsSigEnv mkClassOpSigs mkLHsWrapmkHsWrap mkHsWrapCo mkHsWrapCoR mkLHsWrapCo mkHsCmdWrap mkLHsCmdWrap mkHsWrapPat mkHsWrapPatCo mkHsDictLet mkFunBind mkTopFunBind mkHsVarBind mkVarBind mkPatSynBindisInfixFunBindspanHsLocaLBindsmkSimpleGeneratedFunBindmkPrefixFunRhsmkMatchisUnliftedHsBindisBangedHsBindcollectLocalBinderscollectHsIdBinderscollectHsValBinderscollectHsBindBinderscollectHsBindsBinderscollectHsBindListBinderscollectMethodBinderscollectLStmtsBinderscollectStmtsBinderscollectLStmtBinderscollectStmtBinderscollectPatBinderscollectPatsBindershsGroupBindershsTyClForeignBindershsLTyClDeclBindershsForeignDeclsBindershsPatSynSelectorsgetPatSynBindshsDataFamInstBinderslStmtsImplicitshsValBindsImplicits lPatImplicitsGHC.Parser.Errors.PprpsHeaderMessageDiagnosticpsHeaderMessageReasonpsHeaderMessageHintssuggestParensAndBlockArgspp_unexpected_fun_appparse_error_in_pat forallSympprFileHeaderPragmaTypeSDocGHC.Types.HintGhcHintImportSuggestion UnknownHintSuggestExtensionSuggestCorrectPragmaNameSuggestMissingDoSuggestLetInDoSuggestAddSignatureCabalFileSuggestSignatureInstantiationsSuggestUseSpacesSuggestUseWhitespaceAfterSuggestUseWhitespaceAroundSuggestParenthesesSuggestIncreaseMaxPmCheckModelsSuggestAddTypeSignaturesSuggestBindToWildcard SuggestAddInlineOrNoInlinePragmaSuggestAddPhaseToCompetingRuleSuggestAddToHSigExportList#SuggestIncreaseSimplifierIterationsSuggestUseTypeFromDataKindSuggestQualifiedAfterModuleNameSuggestThQuotationSyntax SuggestRolesSuggestQualifyStarOperatorSuggestTypeSignatureFormSuggestFixOrphanInstanceSuggestAddStandaloneDerivationSuggestFillInWildcardConstraintSuggestRenameForallSuggestAppropriateTHTickSuggestDumpSlicesSuggestAddTickSuggestMoveToDeclarationSiteSuggestSimilarNamesRemindFieldSelectorSuppressedSuggestImportingDataConSuggestPlacePragmaInHeaderSuggestPatternMatchingSyntax SuggestSpecialiseVisibilityHintsLoopySuperclassSolveHintsuppressed_selectorsuppressed_parentsLanguageExtensionHintSuggestSingleExtensionSuggestAnyExtensionSuggestExtensionsSuggestExtensionInOrderToAvailableBindings NamedBindingsUnnamedBindingGHC.Types.ErrorDiagnosticCodediagnosticCodeNameSpacediagnosticCodeNumberSeverity SevIgnore SevWarningSevError MessageClassMCOutputMCFatal MCInteractiveMCDumpMCInfo MCDiagnostic MsgEnvelope errMsgSpan errMsgContexterrMsgDiagnosticerrMsgSeverityDiagnosticReasonWarningWithoutFlagWarningWithFlagErrorWithoutFlagDiagnosticMessage diagMessage diagReason diagHintsDiagnosticHintNoDiagnosticOptsUnknownDiagnostic DiagnosticDiagnosticOptsdefaultDiagnosticOptsdiagnosticMessagediagnosticReasondiagnosticHintsdiagnosticCode DecoratedSDoc unDecoratedMessages getMessagessuggestExtensionsuggestExtensionWithInfosuggestExtensionssuggestExtensionsWithInfosuggestAnyExtensionsuggestAnyExtensionWithInfouseExtensionInOrderTo emptyMessages mkMessagesisEmptyMessages singleMessage addMessage unionMessagesunionManyMessages mkDecoratedmkSimpleDecoratedunionDecoratedSDocmapDecoratedSDocnoHintsmkPlainDiagnostic mkPlainErrormkDecoratedDiagnosticmkDecoratedError pprMessageBag mkLocMessagemkLocMessageWarningGroupsgetCaretDiagnosticisIntrinsicErrorMessageisWarningMessage errorsFoundisExtrinsicErrorMessageerrorsOrFatalWarningsFoundgetWarningMessagesgetErrorMessagespartitionMessages LexicalFixityPrefixInfix maxPrecedence minPrecedence defaultFixity negateFixity funTyFixity compareFixityGHC.Types.NameNameGHC.Types.Name.Occurrence HasOccNameoccNameOccName occNameFS occNameSpace NamedThing getOccNamegetName TidyOccEnvOccSetOccEnv NameSpace BuiltInSyntax UserSyntax mkVarOccFSmkRecFldSelOcc tidyNameOcc nameOccName setNameUnique nameUniquetcNameclsName tcClsNamedataName srcDataNametvNamevarNameisDataConNameSpaceisTcClsNameSpace isTvNameSpaceisVarNameSpaceisValNameSpace pprNameSpacepprNonVarNameSpacepprNameSpaceBrief pprOccName mkOccName mkOccNameFSmkVarOcc mkDataOcc mkDataOccFS mkTyVarOcc mkTyVarOccFSmkTcOcc mkTcOccFSmkClsOcc mkClsOccFS demoteOccNamepromoteOccName emptyOccEnv unitOccEnv extendOccEnvextendOccEnvList lookupOccEnvmkOccEnv elemOccEnv foldOccEnvnonDetOccEnvElts plusOccEnv plusOccEnv_CextendOccEnv_CextendOccEnv_Acc mapOccEnv mkOccEnv_C delFromOccEnvdelListFromOccEnv filterOccEnv alterOccEnv minusOccEnv minusOccEnv_C pprOccEnv emptyOccSet unitOccSetmkOccSet extendOccSetextendOccSetList unionOccSetsunionManyOccSets minusOccSet elemOccSet isEmptyOccSetintersectOccSet filterOccSet occSetToEnv occNameStringsetOccNameSpaceisVarOccisTvOccisTcOccisValOcc isDataOcc isDataSymOccisSymOcc parenSymOccstartsWithUnderscoreisDerivedOccNameisDefaultMethodOccisTypeableBindOccmkDataConWrapperOcc mkWorkerOcc mkMatcherOcc mkBuilderOccmkDefaultMethodOccmkClassOpAuxOcc mkDictOccmkIPOcc mkSpecOccmkForeignExportOcc mkRepEqOccmkClassDataConOcc mkNewTyCoOcc mkInstTyCoOcc mkEqPredCoOcc mkCon2TagOcc mkTag2ConOcc mkMaxTagOcc mkDataTOcc mkDataCOcc mkTyConRepOccmkGenRmkGen1RmkDataConWorkerOccmkSuperDictAuxOccmkSuperDictSelOcc mkLocalOcc mkInstTyTcOcc mkDFunOcc mkMethodOccemptyTidyOccEnvinitTidyOccEnvdelTidyOccEnvListavoidClashesOccEnv tidyOccName nameNameSpace nameSrcLoc nameSrcSpan isWiredInName isWiredInwiredInNameTyThing_maybeisBuiltInSyntaxisExternalNameisInternalName isHoleName isDynLinkName nameModulenameModule_maybe namePun_maybenameIsLocalOrFromnameIsExternalOrFromnameIsHomePackagenameIsHomePackageImportnameIsFromExternalPackage isTyVarName isTyConName isDataConName isValName isVarName isSystemNamemkInternalNamemkClonedInternalNamemkDerivedInternalNamemkExternalName mkWiredInName mkSystemNamemkSystemNameAtmkSystemVarName mkSysTvName mkFCallName setNameLoc localiseName stableNameCmppprName pprFullName pprTickyNamepprNameUnqualifiedpprModulePrefix pprDefinedAtpprNameDefnLocnameStableString getSrcLoc getSrcSpan getOccStringgetOccFS pprInfixName pprPrefixNameGHC.Types.Name.ReaderRdrNameUnqualQualOrigExactGHC.Types.AvailGreName NormalGreName FieldGreName ImpItemSpecImpAllImpSome is_explicitis_iloc ImpDeclSpecis_modis_asis_qualis_dloc ImportSpecImpSpecis_declis_itemParentNoParentParentIspar_is GlobalRdrEltGREgre_namegre_pargre_lclgre_imp GlobalRdrEnv LocalRdrEnvgreNameSrcSpan rdrNameOcc rdrNameSpace demoteRdrNamepromoteRdrName mkRdrUnqual mkRdrQualmkOrigmkUnqual mkVarUnqualmkQual getRdrName nameRdrName isRdrDataCon isRdrTyVarisRdrTc isSrcRdrNameisUnqualisQual isQual_maybeisOrig isOrig_maybeisExact isExact_maybeemptyLocalRdrEnvextendLocalRdrEnvextendLocalRdrEnvListlookupLocalRdrEnvlookupLocalRdrOccelemLocalRdrEnvlocalRdrEnvEltsinLocalRdrEnvScopeminusLocalRdrEnvgresFromAvailslocalGREsFromAvail gresFromAvail greOccNamegreMangledNamegrePrintableNamegreDefinitionSrcSpangreDefinitionModulegreQualModName greRdrNames greSrcSpangreParent_maybegresToAvailInfo availFromGREemptyGlobalRdrEnvglobalRdrEnvEltspprGlobalRdrEnvlookupGlobalRdrEnvlookupGRE_RdrNamelookupGRE_RdrName'lookupGRE_NamelookupGRE_GreNamelookupGRE_FieldLabellookupGRE_Name_OccNamegetGRE_NameQualifier_maybes isLocalGRE isRecFldGREisDuplicateRecFldGREisNoFieldSelectorGREisFieldSelectorGRE greFieldLabelunQualOKpickGREspickGREsModExpplusGlobalRdrEnvmkGlobalRdrEnv transformGREsextendGlobalRdrEnv shadowNames bestImport unQualSpecOK qualSpecOK importSpecLocimportSpecModuleisExplicitItempprNameProvenanceopIsAtGHC.Types.SourceTextFractionalExponentBaseBase2Base10 StringLiteralsl_stsl_fssl_tc FractionalLitFLfl_textfl_negfl_signifl_exp fl_exp_base IntegralLitILil_textil_negil_value SourceText NoSourceTextpprWithSourceText mkIntegralLitnegateIntegralLitmkFractionalLitfractionalLitFromRationalrationalFromFractionalLitmkTHFractionalLitnegateFractionalLitintegralFractionalLitmkSourceFractionalLitGHC.Types.SrcLocSrcLoc RealSrcLoc UnhelpfulLoc PsLocatedPsSpan psRealSpan psBufSpanPsLoc psRealLocpsBufPos RealLocatedLocated GenLocatedLUnhelpfulSpanReasonUnhelpfulNoLocationInfoUnhelpfulWiredInUnhelpfulInteractiveUnhelpfulGeneratedUnhelpfulOtherSrcSpan RealSrcSpan UnhelpfulSpan srcSpanFileBufSpan bufSpanStart bufSpanEndBufPosbufPos srcLocFilemkSrcLoc mkRealSrcLocleftmostColumn getBufPosnoSrcLocgeneratedSrcLocinteractiveSrcLocmkGeneralSrcLoc srcLocLine srcLocCol advanceSrcLoc advanceBufPos sortLocatedsortRealLocated lookupSrcLoc lookupSrcSpan removeBufSpan getBufSpan noSrcSpanwiredInSrcSpaninteractiveSrcSpangeneratedSrcSpanisGeneratedSrcSpan isNoSrcSpanmkGeneralSrcSpan srcLocSpanrealSrcLocSpan mkRealSrcSpan mkSrcSpancombineSrcSpanscombineRealSrcSpanscombineBufSpanssrcSpanFirstCharacter isGoodSrcSpan isOneLineSpanisZeroWidthSpan containsSpansrcSpanStartLinesrcSpanEndLinesrcSpanStartCol srcSpanEndCol srcSpanStart srcSpanEndrealSrcSpanStartrealSrcSpanEndsrcSpanFileName_maybesrcSpanToRealSrcSpanunhelpfulSpanFSpprUnhelpfulSpanReason pprUserSpanpprUserRealSpanunLocgetLocnoLocmkGeneralLocated combineLocsaddCLoc eqLocated cmpLocated cmpBufSpan pprLocatedpprLocatedAlwaysrightmost_smallestleftmost_smallestleftmost_largestspans isSubspanOfisRealSubspanOfgetRealSrcSpan unRealSrcSpanpsLocatedToLocated advancePsLocmkPsSpan psSpanStart psSpanEnd mkSrcSpanPsGHC.Types.UniqueUnique Uniquable getUnique uNIQUE_BITSmkUniqueGrimilygetKey incrUnique stepUnique mkLocalUniqueminLocalUniquemaxLocalUnique newTagUniquemkUnique unpkUniqueisValidKnownKeyUniquehasKeyeqUniqueltUniquenonDetCmpUniquepprUniqueAlwaysGHC.Types.Unique.FM NonDetUniqFM getNonDetemptyUFM isNullUFMunitUFMunitDirectlyUFMzipToUFM listToUFMlistToUFM_DirectlylistToIdentityUFM listToUFM_CaddToUFM addListToUFMaddListToUFM_DirectlyaddToUFM_Directly addToUFM_C addToUFM_Acc addToUFM_LalterUFMaddListToUFM_C adjustUFMadjustUFM_Directly delFromUFMdelListFromUFMdelListFromUFM_DirectlydelFromUFM_DirectlyplusUFM plusUFM_C plusUFM_CD plusUFM_CD2mergeUFMplusMaybeUFM_C plusUFMListsequenceUFMListminusUFM minusUFM_C intersectUFMintersectUFM_C disjointUFMfoldUFMmapUFM mapMaybeUFMmapUFM_Directly filterUFMfilterUFM_Directly partitionUFMsizeUFMelemUFMelemUFM_Directly lookupUFMlookupUFM_DirectlylookupWithDefaultUFMlookupWithDefaultUFM_DirectlyufmToSet_DirectlyanyUFMallUFM seqEltsUFM nonDetEltsUFM nonDetKeysUFMnonDetStrictFoldUFMnonDetStrictFoldUFM_DirectlyMnonDetStrictFoldUFM_DirectlynonDetUFMToList ufmToIntMapunsafeIntMapToUFMunsafeCastUFMKey equalKeysUFM pprUniqFMpprUFMpprUFMWithKeys pluralUFMGHC.Types.Unique.SetUniqSet emptyUniqSet unitUniqSet mkUniqSetaddOneToUniqSetaddListToUniqSetdelOneFromUniqSetdelOneFromUniqSet_DirectlydelListFromUniqSetdelListFromUniqSet_Directly unionUniqSetsunionManyUniqSets minusUniqSetintersectUniqSetsdisjointUniqSetsrestrictUniqSetToUFMuniqSetMinusUFMuniqSetMinusUDFMelementOfUniqSetelemUniqSet_Directly filterUniqSetfilterUniqSet_DirectlypartitionUniqSet uniqSetAny uniqSetAll sizeUniqSetisEmptyUniqSet lookupUniqSetlookupUniqSet_DirectlynonDetEltsUniqSetnonDetKeysUniqSetnonDetStrictFoldUniqSet mapUniqSet getUniqSetunsafeUFMToUniqSet pprUniqSetRoleNominalRepresentationalPhantomFieldLabelString field_labelSumWidth_aeNextaeEnvaeOffset gforMIndexedControl.Exception.BasetrytransferEntryDP fixOneEntry setEntryDP exactPrintUGHC.Base SemigroupMonoid firstMatch needsParensinsertDependentRewrites addInScope addBindersupdateSubstitution updateBinder renameBinder replaceImpl CPPBranchCPPTree mkCPPTree cppTreeToList insertImports RetrieView:>>=RetrieInstructionIOControl.Monad.IO.ClassliftIOgetComplistenTransformTtransformers-0.6.1.0Control.Monad.Trans.RWS.LazyrwsRWSTRWS allMatchesaddLocalFixitiesData.TraversableforM commandStep runOneModulemempty