И      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None'=Set the minimal indentation recursively for a part of the AST''''None:DR (]A type class for handling definitions that can appear as both top-level and local definitions)GAccesses a type signature definition in a local or top-level definition*JAccesses a value or function definition in a local or top-level definition+GAccesses a type signature definition in a local or top-level definition,.Creates a new definition from a type signature-<Creates a new definition from a value or function definition.Creates a new fixity signature/0Checks if a given definition is a type signature0;Checks if a given definition is a function or value binding12Checks if a given definition is a fixity signature()*+,-./012345 ()*+,-./0123()*+,-./015423( )*+,-./012345None!"9;6sExceptions that can occur while loading modules or during internal operations (not during performing the refactor).:;Change in the project, modification or removal of a module.CoModule name and marker to separate .hs-boot module definitions. Specifies a source file in a working directory.G"The name of the module and the ASTH7A type for the input and result of refactoring a moduleIPTransforms module name to a .hs file name relative to the source root directory.J=Transforms a source root relative file name into module name.6789:;<=>?@ABCDEFGHIJKLMRS6789:;<=>?@ABCDEFGHIJRSHGCDEF:;<=>?@ABM6789LKIJSR 6789:;<=>?@ABCDEFGHIJKLMRSNone29;I T%The information a refactoring can useVMThe name of the module being refactored. Used for accessing implicit imports.Y]Input and output information for the refactoring TODO: use multiple states instead of Either\+The refactoring monad for the whole project](The refactoring monad for a given module^9The type of a refactoring that affects the whole project._The type of a refactoring`*A refactoring that only affects one modulea$A monad that can be used to refactor!TUVWXYZ[\]^_`abcdefghijklmnopqrstTUVWXYZ[\]^_`acb!abc`_^]\YZ[TUVWXtsrqponmlkjihgfedTUVWXYZ[\]^_`abcdefghijklmnopqrstNoneL[~}Remove a separator from the AST while keeping the textual parts of it that should not be removed (like preprocessor pragmas).|Remove an element from the AST while keeping the textual parts of it that should not be removed (like preprocessor pragmas)..Extracts all text elements that should be keptWWrites the elements to be kept into a writer monad with ranges and default line ending.~~~~NoneLFilters the elements of the list. By default it removes the separator before the element. Of course, if the first element is removed, the following separator is removed as well.hA version of filterList that cares about keeping non-removable code elements (like preprocessor pragmas)oA version of filterListIndexed that cares about keeping non-removable code elements (like preprocessor pragmas)%Selects the given indices from a list-Selects all but the given indices from a listInserts the element in the places where the two positioning functions (one checks the element before, one the element after) allows the placement.NChecks where the element will be inserted given the two positioning functions.Gets the elements and separators from a list. The first separator is zipped to the second element. To the first element, the "" string is zipped. None:OT[ERemove the container (where or let) when the last binding is removed.bPuts the elements in the orginal order and remove duplicates (elements with the same source range) None!"$/9:;DIR[\fAPerforms the given refactoring, transforming it into a Ghc action\Wraps a refactoring that only affects one module. Performs the per-module finishing touches.-Transform the result of the local refactoringfRe-inserts the elements removed from the AST that should be kept (for example preprocessor directives)OAdds the imports that bring names into scope that are needed by the refactoringhCreate a name that references the definition. Generates an import if the definition is not yet imported.2Reference the name by the shortest suitable import None$/5:DLRT[\9The final version of our AST, with type infromation added(A quick function to try the refactorings>Adjust the source range to be applied to the refactored module'Set the given flags for the GHC session7Reloads the package database based on the session flags?Initialize GHC flags to default values that support refactoring(Sets up basic flags and settings for GHCDUse the given source directories when searching for imported modulesJDon't use the given source directories when searching for imported modulesoTranslates module name and working directory into the name of the file where the given module should be definednTranslates module name and working directory into the name of the file where the boot module should be defined5Get the source directory where the module is located./Gets the path to the source file of the module.Gets the module nameLLoad the summary of a module given by the working directory and module name.9Get the typed representation from a type-correct program.4Modifies the dynamic flags for performing a ghc task-Forces the code generation for a given module-Forces ASM code generation for a given module)Normalizes the flags for a module summary9Removes all flags that are unintelligable for refactoring-Read a source range from our textual format: line:col-line:col or line:col(Read a source location from our format: line:col NoneCThe signature and behavior of one refactoring that can be executed.zExecutes a given command (choosen from the set of available refactorings) on the selected module and given other modules.'Gets the name of possible refactorings. !The set of available refactoringsThe refactoring command0The module in which the refactoring is performed Other modules  None[ CDifferent classes of definitions that have different kind of names..Normal value definitions: functions, variablesData constructors"Functions with operator-like names%Constructors with operator-like names*UType definitions with operator-like names.Get which category does a given name belong to-Checks if a given name is a valid module name=Check if a given name is valid for a given kind of definition Nonea      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef  ghijk !&%$#"lmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'()*+,-./01236789:;<=>?@ABCDEFGHIJRSTUVWXYZ[\]^_`acb(   ! &%$##"                   ! " # $%&'%&(%&)%&*%&+%&,%&-%&.%&/%&0%&1%&2%&3%&4%&5%&6%&789:;<=>?@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcddefghhijklmnopqrstuvwxyz{|}~      l                                                          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 wx wx wy wz w{|}~|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:;|:<|:=|:>|:?|:@|: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|lm|ln|lo|lp|lq|lr|ls|lt|lu|lv|wx|wy|wz|w{|w||w}|w~|w|w|w|w|w|w|w|w|w|w|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|34|35|36|37|38|39|3:|3;|3<|3=|3>|3?|3@|3A|BC|BD|BE|BF|BG|BH|BI|BJ|BK|BL|BM|BN|BO|BP|BQ|BR|BS|BT|BU|BV|BW|BX|YZ|Y[|Y\|Y]|Y^|Y_|Y`|Ya|bc|bd|be|bf|bg|bh|bi|bj|bk|bl|bm|bn|bo|bp|bq|br|bs|bt|uv|uw|ux|uy|uz|u{|u||u}|u~|u||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |  |  | c| d| e| f| h|  |  | | k| | | | | | l| o| r| | | | | | | | | | | | | | | | | | | | | | |  | !| $| | "| #| | $| %| &| | '| (| )| *| +| ,| | | -| | .| /| | 0| | 1| 2| | 3| | 4| 5| 6| | |  | 7| 8| | 9| :| | ;| <| ;| :| =| >| ?| @| A| | B| C| D| `| a| _| 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| {| || }| ~| | | | | | | 5haskell-tools-refactor-0.9.0.0-KHsr1jhjjvS5xzEEklWP8JLanguage.Haskell.Tools.Refactor1Language.Haskell.Tools.Refactor.Utils.Indentation1Language.Haskell.Tools.Refactor.Utils.BindingElem.Language.Haskell.Tools.Refactor.Representation%Language.Haskell.Tools.Refactor.Monad)Language.Haskell.Tools.Refactor.Utils.AST+Language.Haskell.Tools.Refactor.Utils.Lists-Language.Haskell.Tools.Refactor.Utils.Helpers-Language.Haskell.Tools.Refactor.Utils.Monadic'Language.Haskell.Tools.Refactor.Prepare+Language.Haskell.Tools.Refactor.Refactoring*Language.Haskell.Tools.Refactor.Utils.Name/haskell-tools-ast-0.9.0.0-uQcvnXetRULGIWJQydNPzLanguage.Haskell.Tools.AST.Ann isAnnNothingannJustannMaybesrcInfoSourceInfoType HasSourceInfosourceInfoTraversesourceInfoTraverseDownsourceInfoTraverseUpSourceInfoTraversalannList annListElems annListAnnotAnn shortShowSpanSrcTemplateStageDomIdDomDomainsetRangegetRangeHasRange8haskell-tools-prettyprint-0.9.0.0-KKxNrOuin5c8SIWbpSX0999Language.Haskell.Tools.PrettyPrint.Prepare.SourceTemplatesourceTemplateTextsrcTmpOptAftersrcTmpOptBeforesourceTemplateOptRangesrcTmpSeparatorssrcTmpIndentedsrcTmpDefaultSeparatorsrcTmpListAftersrcTmpListBeforesourceTemplateListRangesourceTemplateNodeElemssourceTemplateNodeRange _lineEndings_sourceTemplateText StayingText NormalTextSourceTemplateTextElemsetMinimalIndent BindingElemsigBindvalBind fixitySig createTypeSig createBindingcreateFixitySig isTypeSig isBinding isFixitySiggetValBindInListvalBindsInList$fBindingElemULocalBind$fBindingElemUDeclRefactorExceptionIllegalExtensionsSourceCodeProblemUnknownExceptionRefactorChangeContentChanged ModuleRemoved ModuleCreatedfromContentChangedremovedModuleNamecreatedModuleNamecreatedModuleContent sameLocation SourceFileKey _sfkFileName_sfkModuleName ModuleDom UnnamedModulemoduleSourceFilesourceFileModule$fExceptionRefactorException $fShowBag$fShowRefactorChange$fEqSourceFileKey$fOrdSourceFileKey$fShowSourceFileKey$fShowRefactorException sfkFileName sfkModuleName RefactorCtx refModuleName refCtxRoot refCtxImportsLocalRefactorT fromRefactorTRefactor LocalRefactorProjectRefactoring RefactoringLocalRefactoring RefactorMonad refactErrorliftGhc$fExceptionMonadExceptT$fGhcMonadExceptT$fExceptionMonadReaderT$fGhcMonadReaderT$fExceptionMonadStateT$fGhcMonadStateT$fHasDynFlagsStateT$fExceptionMonadStateT0$fGhcMonadStateT0$fHasDynFlagsStateT0$fExceptionMonadWriterT$fGhcMonadWriterT$fRefactorMonadStateT$fRefactorMonadStateT0$fRefactorMonadLocalRefactorT$fRefactorMonadExceptT$fMonadTransLocalRefactorT$fFunctorLocalRefactorT$fApplicativeLocalRefactorT$fMonadLocalRefactorT$fMonadReaderLocalRefactorT$fMonadWriterLocalRefactorT$fMonadIOLocalRefactorT$fHasDynFlagsLocalRefactorT$fExceptionMonadLocalRefactorT$fGhcMonadLocalRefactorTremoveSeparator removeChild filterListfilterListIndexed filterListStfilterListIndexedStsublist notSublist insertWhere insertIndexzipWithSeparatorsreplaceWithJustreplaceWithNothingremoveEmptyBndsnormalizeElements runRefactorlocalRefactoringlocalRefactoringRes insertTextaddGeneratedImportsregisteredNamesFromPreludeotherNamesFromPrelude qualifiedName referenceNamereferenceOperatorreferenceName' referenceBy TypedModule tryRefactorcorrectRefactorSpanuseFlags reloadPkgDb initGhcFlagsinitGhcFlagsForTest initGhcFlags'useDirsderegisterDirs toFileNametoBootFileName getSourceDir getModSumOrig keyFromMS getModSumName loadModule parseTypedwithAlteredDynFlags forceCodeGen forceAsmGenmodSumNormalizeFlagsnormalizeFlags readSrcSpan readSrcLocRefactoringChoiceNamingRefactoringSelectionRefactoringModuleRefactoringrefactoringNamenamingRefactoringselectionRefactoringmoduleRefactoringprojectRefactoringperformCommandrefactorCommands NameClassVariableCtor ValueOperatorDataCtorOperatorSynonymOperator classifyNamevalidModuleName nameValid isIdStartCharisOperatorCharkeptText writeStaying*Language.Haskell.Tools.AST.SemaInfoClasses HasNameInfo HasNameInfo' semanticsName HasIdInfo HasIdInfo' semanticsId HasFixityInfoHasFixityInfo'semanticsFixity HasScopeInfo HasScopeInfo'semanticsScopeHasDefiningInfoHasDefiningInfo'semanticsDefiningHasSourceInfoInSema'semanticsSourceInfo HasModuleInfoHasModuleInfo'semanticsModulesemanticsDynFlags isBootModulesemanticsImplicitImportssemanticsPrelOrphanInstssemanticsPrelFamInsts HasImportInfoHasImportInfo'semanticsImportedModulesemanticsAvailablesemanticsImportedsemanticsOrphanInstssemanticsFamInstsHasImplicitFieldsInfoHasImplicitFieldsInfo'semanticsImplicitFldsHasNoSemanticInfo"Language.Haskell.Tools.AST.HelpersinScopecompareRangeLengthgetNodeContainingnodesWithRange isContainednodesContainedisInsidenodesContaining semantics valBindPats typeParams declHeadNames bindingNameimportIsHiding importIsExactAnnList AnnNothingAnnJust NamedElement elementName%Language.Haskell.Tools.AST.References stringNodeStr simpleNameStrunqualifiedName qualifiers simpleName operatorNamepromotedStringValuepromotedIntValuepromotedElementspromotedConNamestringLitValue intLitValue fracLitValue floatLitValue charLitValue bracketTypebracketPattern bracketExpr bracketDeclqqString qqExprName qqExprBodyspliceId spliceExprfieldPatternWildcardfieldPatternName fieldPattern patternType patternSplice patternRhspatternOperator patternNamepatternLiteral patternLit patternLhs patternInner patternFields patternExpr patternElems patternArgspatQQ compStmts usingExprthenExprcompStmtbyExpr stmtPatternstmtExpr stmtBinds cmdStmtBindscaseGuardStmts caseGuardExpr rhsCaseGuards rhsCaseExpr pragmaStrpragmaSrcRange tupSecExpr fieldWildcard fieldValuefieldUpdateName fieldNamealtRhs altPatternaltBindstupleSectionElems tupleElems quotedName procPatternprocExpr listElems innerExprexprTypeexprThen exprStmts exprSpliceexprSigexprRhs exprRecName exprRecFieldsexprQQ exprPragma exprOperatorexprNameexprLitexprLhs exprInner exprIfAlts exprFunBindexprFunexprElseexprCondexprCase exprBracket exprBindingsexprArgexprAlts enumToFixenumToenumThenenumFromdoKindcompExprcompBody arrowAppl innerAsserts assertTypes assertRhsassertOp assertLhs assertImplVarassertImplType assertClsNamecontextAssertionkindVarkindType kindRightkindRhs kindPromoted kindParenkindLhskindLeft kindElemskindElem kindAppOp kindAppFun kindAppArgtypeWildcardNametypeType typeRight typeResulttypeQQ typeParam typeOperatortypeNametypeLefttypeKind typeInner typeElements typeElementtypeCtxtypeCon typeBoundedtypeArgtsSplice tpPromoted tyVarName tyVarKind valBindRhs valBindPat valBindLocalsfunBindMatches kindConstr matchLhsRhsmatchLhsOperator matchLhsName matchLhsLhs matchLhsArgstsTypetsNameprecedenceValuefixityPrecedencefixityOperators fixityAssoc localBindslocalVallocalSig localInline localFixityguardRhsguardPat guardCheck guardBinds guardStmts guardExpr rhsGuardsrhsExprmatchRhsmatchLhs matchBinds numberIntegersrToLinesrToCol srFromLine srFromCol srFileName minimalOrs minimalName minimalInner minimalAnds annotateName warnMessagespecializePragma pragmaRule pragmaObjects pragmaLineNum pragmaInlinepragmaFileName deprMessageannotationSubject annotateExprphaseNum phaseUntil phaseNumber ruleVarType ruleVarNameruleRhs rulePhaseruleNameruleLhs ruleBoundedteRhsteLhsihType ihOperatorihLeftOpihHeadihFun ihConNameirVarsirHeadirCtx oneDerived allDerived fieldType fieldNames conDeclRhs conDeclOp conDeclName conDeclLhs conDeclFields conDeclArgs conTypeCtx conTypeArgs funDepRhs funDepLhsfunDeps patSigType patSigName patOpposite patSynRhspatSynOp patSynLhspatNamepatArgspatRhsOpposite patRhsPatpatRhspatLhsgadtConResultTypegadtConRecordFieldsgadtConNormalTypegadtConTypeCtxgadtConTypeArgs gadtConType gadtConNames injAnnRes injAnnDeps tfTypeVar tfSpecKind tfInjectivitytfSpectfKindtfHeadspecializeInstanceTypespecializeInstanceinstanceInlineinstBodyTypeSiginstBodyTypeEqninstBodyLhsTypeinstBodyGadtConsinstBodyDerivingsinstBodyDeclFunbindinstBodyDataNewinstBodyDataKindinstBodyDataCons instBodyDeclsdhRight dhOperatordhNamedhLeftdhBody dhAppOperanddhAppFun pragmaFormula clsInline clsFixity ceTypeSig ceTypeFamceTypeceNameceKindceHeadceBind cbElements declValBind declTypes declTypeSigdeclTypeFamilydeclType declSplicedeclSpec declSafety declRoles declRoleType declPragmadeclPatTypeSig declPatSyn declOverlap declNewtypedeclNamedeclKind declInstance declInstRule declInstDecldeclHeaddeclGadt declFunDepsdeclForeignType declFixity declDerivingdeclDecldeclCtxdeclCons declCallConvdeclBodydeclAssignedTypelangExtmoduleNameString importRenameimportSpecListimportSpecHiding importSpec importSource importSafeimportQualified importPkg importModuleimportAsopStr lpPragmas modWarningStrmodDeprecatedPragmaessList ieSubspecieName ieModifierexportModuleName exportDecl espExportsmhPragmamhName mhExports modImportsmodHeadmodDecl filePragmas(Language.Haskell.Tools.AST.SemaInfoTypes UsageSpecusageQualifiedusageQualifierusageAs4haskell-tools-rewrite-0.9.0.0-Kk7JbpKptdKDNprLZgxZ4Z+Language.Haskell.Tools.Rewrite.Create.Binds mkGuardCheck mkGuardLet mkGuardBind mkGuardedRhs mkGuardedRhssmkUnguardedRhsmkInfixmkInfixRmkInfixLmkTypeSignature mkLocalFixitymkLocalTypeSigmkLocalValBind mkLocalBinds' mkLocalBinds mkInfixLhs mkMatchLhsmkMatchmkFunctionBind'mkFunctionBind mkSimpleBind mkSimpleBind'+Language.Haskell.Tools.Rewrite.Create.DeclsmkConlikeAnnotationmkModuleAnnotationmkTypeAnnotationmkNameAnnotation mkRuleVar mkRewriteRulemkPhaseControlUntilmkPhaseControlFrommkSpecializePragma mkLinePragmamkInlinablePragmamkNoInlinePragmamkInlinePragma mkAnnPragmamkWarningPragma mkDeprPragma mkRulePragma mkPragmaDeclmkPatternSignaturemkPatternSignatureDeclmkTwoWayPatSynmkOneWayPatSynmkSymmetricPatSynmkRecordPatSyn mkInfixPatSyn mkConPatSynmkPatternSynonymmkGadtDataInstancemkDataInstancemkTypeInstance mkTypeEqnmkTypeFamilyInjectivitySpecmkTypeFamilyKindSpec mkDataFamilymkClosedTypeFamily mkTypeFamilymkUnsafemkCApimkCCall mkStdCallmkForeignExportmkForeignImport mkPhantomRolemkRepresentationalRole mkNominalRole mkRoleDeclmkIncoherentOverlap mkOverlaps mkOverlappingmkOverlappablemkDisableOverlapmkEnableOverlapmkInstanceSpecializePragmamkInstanceDataFamilyGADTDefmkInstanceDataFamilyDefmkInstanceTypeFamilyDefmkInstanceTypeSigmkInstanceBindmkInstanceBodymkAppInstanceHeadmkParenInstanceHeadmkInfixInstanceHeadmkInstanceHeadmkInstanceRulemkInstanceDeclmkInfixDeclHead mkDeclHeadAppmkParenDeclHeadmkNameDeclHead mkMinimalAnd mkMinimalOrmkMinimalParen mkMinimalName mkClsMinimalmkFunDepmkClsDefaultSigmkClsDefaultTypemkClassElemDataFammkClassElemTypeFammkClassElemDefmkClassElemSig mkClassBody mkClassDeclmkNewtypeKeyword mkDataKeyword mkDeriving mkFieldDeclmkInfixConDeclmkRecordConDecl mkConDeclmkGadtRecordConDecl mkGadtConDeclmkGADTDataDecl mkDataDecl mkSpliceDeclmkValueBinding mkTypeSigDecl mkDefaultDecl mkFixityDeclmkStandaloneDeriving mkTypeDecl+Language.Haskell.Tools.Rewrite.Create.ExprsmkRightHighApplmkLeftHighAppl mkRightAppl mkLeftApplmkDoCmdmkLetCmdmkIfCmd mkCaseCmd mkParenCmd mkLambdaCmd mkInfixCmdmkAppCmdmkArrowFromCmd mkArrowAppCmd mkSourceRangemkGeneratedPragma mkSccPragma mkCorePragmamkGuardedCaseRhsmkGuardedCaseRhss mkCaseRhsmkAltmkFieldWildcard mkFieldPun mkFieldUpdatemkStaticPointer mkLambdaCase mkArrowApp mkProcExpr mkExprPragmamkQuasiQuoteExpr mkSpliceExpr mkBracketExpr mkTypeQuote mkVarQuotemkExplicitTypeApp mkExprTypeSigmkParArrayComp mkListCompmkParArrayEnummkEnum mkRecUpdatemkRecConmkRightSection mkLeftSectionmkParen mkParArraymkListmkTupleUnboxedSectionmkTupleSectionmkUnboxedTuplemkTuple mkDoBlockmkCase mkMultiIfmkIfmkLetmkLambdamkApp mkPrefixApp mkInfixAppmkLitmkVar+Language.Haskell.Tools.Rewrite.Create.TypesmkTupleAssertionmkImplicitAssert mkInfixAssert mkClassAssert mkContextmkPromotedUnitTypemkPromotedTupleTypemkPromotedListTypemkPromotedConTypemkPromotedStringTypemkPromotedIntTypemkQuasiQuoteType mkSpliceTypemkNamedWildcardTypemkWildcardTypemkNoUnpackType mkUnpackType mkLazyType mkBangType mkKindedType mkVarTypemkKindedTypeVar mkTypeVar mkParenTypemkInfixTypeApp mkTypeAppmkParArrayType mkListTypemkUnboxedTupleType mkTupleTypemkFunctionType mkCtxType mkTypeVar' mkForallType+Language.Haskell.Tools.Rewrite.Create.Kinds mkUnitKind mkTupleKind mkListKind mkConKind mkStringKind mkIntKind mkKindList mkKindApp mkKindVar mkKindParen mkKindFun mkKindUnbox mkKindStarmkKindConstraint.Language.Haskell.Tools.Rewrite.Create.LiteralsmkPrimStringLit mkPrimCharLitmkPrimDoubleLitmkPrimFloatLit mkPrimWordLit mkPrimIntLit mkFracLitmkIntLit mkStringLit mkCharLit-Language.Haskell.Tools.Rewrite.Create.ModulesmkModuleDeprecatedPragmamkModuleWarningPragma mkOptionsGHCmkLanguagePragma mkModuleNamemkImportHidingListmkImportSpecList mkImportDeclmkSubAll mkSubListmkPatternIESpecmkIESpecmkModuleExport mkExportSpec mkExportSpecs mkModuleHeadmkModule+Language.Haskell.Tools.Rewrite.Create.Names mkStringNode mkSimpleName mkSimpleName' mkNamePartmkQualifiedNamemkQualifiedName'mkImplicitName mkParenName mkNormalName mkUnqualName' mkQualName' mkUnqualOp mkUnqualOp' mkQualOp' mkBacktickOpmkQualOpmkName.Language.Haskell.Tools.Rewrite.Create.PatternsmkFieldWildcardPatternmkFieldPunPatternmkPatternFieldmkQuasiQuotePat mkSplicePat mkViewPat mkTypeSigPat mkBangPatmkIrrefutablePat mkWildPatmkAsPatmkRecPat mkParenPat mkParArrayPat mkListPatmkUnboxTuplePat mkTuplePatmkAppPat mkInfixAppPatmkLitPatmkVarPat+Language.Haskell.Tools.Rewrite.Create.StmtsmkRecCmd mkLetStmtCmd mkExprCmd mkBindCmd mkGroupStmt mkThenStmt mkCompStmtmkListCompBody mkRecStmt mkLetStmt mkExprStmt mkBindStmt(Language.Haskell.Tools.Rewrite.Create.THmkDeclsBracket mkTypeBracketmkPatternBracket mkExprBracket mkQuasiQuote mkParenSplice mkIdSplice*Language.Haskell.Tools.Rewrite.Match.Types ForallTypeCtxType FunctionType TupleTypeUnboxedTupleTypeListType ParArrayTypeTypeApp InfixTypeApp ParenTypeVarType KindedTypeBangTypeLazyType UnpackType NoUnpackType WildcardTypeNamedWildcardType SpliceTypeQuasiQuoteTypePromotedIntTypePromotedStringTypePromotedConTypePromotedListTypePromotedTupleTypePromotedUnitType TyVarDeclKindedTyVarDeclContext ClassAssert InfixAssertImplicitAssert TupleAssert'Language.Haskell.Tools.Rewrite.Match.THIdSplice ParenSplice QuasiQuote ExprBracketPatternBracket TypeBracket DeclsBracket*Language.Haskell.Tools.Rewrite.Match.ExprsVarLitInfixApp PrefixAppAppLambdaLetIfMultiIfCaseDo ParArrayCompTuple UnboxedTuple TupleSectionUnboxedTupleSectionListParArrayParen LeftSection RightSectionRecCon RecUpdateEnum ParArrayEnumListCompParArrayListCompTypeSigExplicitTypeAppVarQuote TypeQuote BracketExpr SpliceExprQuasiQuoteExpr ExprPragmaProcArrowApp LambdaCase StaticPointerNormalFieldUpdateFieldPun FieldWildcard TupSecPresent TupSecMissingAltCaseRhsGuardedCaseRhssGuardedCaseRhs CorePragma SccPragmaGeneratedPragma SourceRange ArrowAppCmd ArrowFormCmdAppCmdInfixCmd LambdaCmdParenCmdCaseCmdIfCmdLetCmdDoCmdLeftAppl RightAppl LeftHighApp RightHighApp*Language.Haskell.Tools.Rewrite.Match.StmtsBindStmtExprStmtLetStmtRecStmt DoKeyword MDoKeyword ListCompBodyCompStmtThenStmt GroupStmt BindStmtCmd ExprStmtCmd LetStmtCmd RecStmtCmd-Language.Haskell.Tools.Rewrite.Match.PatternsVarPatLitPat InfixAppPatAppPatTuplePat UnboxTuplePatListPat ParArrayPatParenPatRecPatAsPatWildPatIrrefutablePatBangPat TypeSigPatViewPat SplicePat QuasiQuotePat NPlusKPat FieldPatternFieldPunPatternFieldWildcardPattern*Language.Haskell.Tools.Rewrite.Match.NamesNormalOp BacktickOp NormalName ParenName ImplicitName StringNode QualifiedNameNamePart,Language.Haskell.Tools.Rewrite.Match.ModulesModule ModuleHead ExportSpecs ExportSpec ModuleExportIESpecSubAllSubList ImportDeclImportRenamingImportSpecListImportHidingList ModuleNameLanguagePragma OptionsPragmaLanguageExtensionModuleWarningPragmaModuleDeprecatedPragma-Language.Haskell.Tools.Rewrite.Match.LiteralsCharLit StringLitIntLitFracLit PrimIntLit PrimWordLit PrimFloatLit PrimDoubleLit PrimCharLit PrimStringLit*Language.Haskell.Tools.Rewrite.Match.KindsKindConstraintStarKind UnboxKindFunKind ParenKindVarKindAppKindListKindIntKind StringKindConKindListKindPromoted TupleKindUnitKind*Language.Haskell.Tools.Rewrite.Match.DeclsTypeDeclStandaloneDeriving FixityDecl DefaultDecl TypeSigDecl ValueBinding SpliceDeclDataDecl GADTDataDecl GadtConDeclGadtRecordConDeclConDecl RecordConDecl InfixConDecl FieldDecl DerivingOne DerivingMulti DataKeywordNewtypeKeywordFunDepsFunDep ClassDecl ClassBody ClassElemSig ClassElemDefClassElemTypeFamClassElemDataFamClsDefaultType ClsDefaultSig ClsMinimal MinimalName MinimalParen MinimalOr MinimalAnd NameDeclHead ParenDeclHead DeclHeadApp InfixDeclHead InstanceDecl InstanceBody InstanceBindInstanceTypeSigInstanceTypeFamilyDefInstanceDataFamilyDefInstanceDataFamilyGADTDefInstanceSpecializePragma InstanceRule InstanceHeadInfixInstanceHeadParenInstanceHeadAppInstanceHead EnableOverlapDisableOverlap Overlappable OverlappingOverlapsIncoherentOverlapRoleDecl NominalRoleRepresentationalRole PhantomRole ForeignImport ForeignExportStdCallCCallCApiUnsafePatternSynonym ConPatSyn InfixPatSyn RecordPatSynSymmetricPatSyn OneWayPatSyn TwoWayPatSynPatternSignatureDeclPatternSignature TypeFamily DataFamily TypeInstance DataInstanceGadtDataInstanceClosedTypeFamilyTypeFamilyKindSpecTypeFamilyInjectivitySpecTypeEqn PragmaDecl RulePragma DeprPragma WarningPragma AnnPragma InlinePragmaNoInlinePragmaInlinablePragma LinePragmaSpecializePragmaPhaseControlFromPhaseControlUntil RewriteRuleNameAnnotationTypeAnnotationModuleAnnotationConlikeAnnotation*Language.Haskell.Tools.Rewrite.Match.Binds SimpleBind FunctionBindMatchMatchLhsInfixLhs LocalBinds LocalValBind LocalTypeSig LocalFixity TypeSignatureInfixLInfixRInfix UnguardedRhs GuardedRhss GuardedRhs GuardBindGuardLet GuardCheck+Language.Haskell.Tools.Rewrite.ElementTypesAnnMaybeSubSpec ModulePragma FilePragma ImportSpecImportQualified ImportSource ImportSafe TypeNamespaceDecl ClassElementDeclHeadInstBody InstBodyDecl GadtConTypeDataOrNewtypeKeywordDeriving OverlapPragmaTopLevelPragmaRuleRuleVarAnnotationSubjectMinimalFormulaTypeFamilySpecInjectivityAnn PatSynRhs PatSynLhs PatSynWhereRoleCallConvSafety ConlikeAnnot PhaseControl ValueBindRhsRhsGuard LocalBindFixitySignatureTypeTyVar AssertionKind PromotedKindExpr FieldUpdate TupSecElemCmdCmdAltStmtDoKindCmdStmtPattern PatternFieldSpliceBracketLiteralOperatorName MaybeContext MaybeDerivingMaybeLocalBindsMaybeTypeFamilySpecMaybeKindConstraintMaybeClassBody MaybeInstBody MaybeExprMaybeExportSpecsMaybeImportQualifiedMaybeImportSourceMaybeImportSafeMaybeImportSpecMaybeModuleHeadMaybeModulePragma MaybeSubSpecMaybeStringNodeMaybeImportRenaming MaybeSafetyMaybePhaseControlMaybeConlikeAnnot MaybeFunDeps MatchListDeclList PatternList OperatorListNameList LocalBindList IESpecList RhsGuardListGuardedRhsListGuardedCaseRhsList ConDeclList TypeEqnListTypeList FieldDeclListExprListFieldUpdateListGadtConDeclListClassElementListInstBodyDeclListInstanceHeadListAltListStmtListKindList TyVarListListCompBodyListExportSpecListFilePragmaListImportDeclListPatternFieldList AssertionList CompStmtListRuleList RuleVarListRoleListMinimalFormulaList FunDepListTupSecElemListCmdList CmdAltList CmdStmtListLanguageExtensionListStringNodeList NamePartList