NTa      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`-Nonea%Returns the number of failing tests. 4 Warning: Not multithread safe, but is reenterant bcdefaghijaghijbcdefaghijNonek-First string may have stars in it (the want) lmnopqrstukvslmnopqrstukvNonewxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~wxyz{|wxyz{|None@Return the variables, erring on the side of more free variables @Return the variables, erring on the side of more free variables *      !"#$%&'()*+,-./%      !"#$%&'()*+,-./NoneR0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~R0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~R0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ NonefromNamed will return "" when it cannot be represented  toNamed may crash on "" ( None=Data type representing the modules in scope within a module.  Created with  and queried with  and .  Note that the   is not equivalent to  on an empty module, ! due to the implicit import of Prelude.  Create a 4 value from a module, based on the modules imports. JGiven a two names in scopes, could they possibly refer to the same thing.  This property is reflexive. ZGiven a name in a scope, and a new scope, create a name for the new scope that will refer Z to the same thing. If the resulting name is ambiguous, it picks a plausible candidate.   Safe-Inferred None  Safe-Inferred  NoneAn > represents how characters are stored in a file. Created with   or  and used with . The system default encoding. Apply an encoding to a . RCreate an encoding from a string, or throw an error if the encoding is not known. $ Accepts many encodings including locale, utf-8 and all those supported by the  GHC mkTextEncoding function.   None a proof script to check against (temporary directory to put the files in /which files to run it on, nothing = none given /which files to run it on, nothing = none given where to generate reports where to generate reports *which settignsfiles were explicitly given *which settignsfiles were explicitly given )hints that are given on the command line )hints that are given on the command line color the result the hints to ignore display all skipped items  extensions  extensions #the extensions (may be prefixed by No) #the extensions (may be prefixed by No) #the extensions (may be prefixed by No) the text encoding the text encoding Swork between source files, applies to hints such as duplicate code between modules "source files to look for hints in the data directory the data directory display hint data as JSON do not show the summary info  When to colour terminal output. KTerminal output will be coloured if $TERM and stdout appear to support it. )Terminal output will always be coloured. (Terminal output will never be coloured. %What C pre processor should be used. The cpphs library is used. Lines prefixed with # are stripped. No pre processing is done. )Determines whether to use colour or not. 8 + 0 None4Is this item lexically requiring no bracketing ever  i.e. is totally atomic =Is the child safe free from brackets in the parent position. ) Err on the side of caution, True = don't know 1Add a Paren around something if it is not atomic *Descend, and if something changes then add/remove brackets appropriately Add/=remove brackets as suggested needBracket at 1-level of depth              NoneNone A parse error from . Location of the error. &Message about the cause of the error. 3Snippet of several lines (typically 5) including a >( character pointing at the faulty line.  Created with  , used by . %How the file is read in (defaults to ). *How the file is preprocessed (defaults to  ). 8How the file is parsed (defaults to all fixities in the base/ package and most non-conflicting extensions). Default value for . uParse a Haskell module. Applies the C pre processor, and uses best-guess fixity resolution if there are ambiguities.  The filename - is treated as stdin. Requires some flags (often ;), the filename, and optionally the contents of that file. VGiven a line number, and some source code, put bird ticks around the appropriate bit.  }~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~wxyz{|0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     None/Generate a lambda, but prettier (if possible). D Generally no lambda is good, but removing just some arguments isn' t so useful. <Convert expressions which have redundant junk in them away. @ Mainly so that later stages can match on fewer alternatives. NoneA  LHS ==> RHS style hint rule. Default severity for the hint. Name for the hint. )Module scope in which the hint operates. LHS RHS )Side condition, typically specified with  where _ = .... !%Notes about application of the hint. "How to classify an Idea. If any matching field is "" then it matches everything. $Severity to set the Idea to. % Match on Idea field ideaHint. & Match on Idea field  ideaModule. ' Match on Idea field ideaDecl. (1A note describing the impact of the replacement. )An arbitrary note. *IThe replacement assumes standard type class lemmas, a hint with the note ValidInstance "Eq" "x" might only be valid if  the x variable has a reflexive Eq instance. +6The replacement removes errors, for example replacing  foldr1 (+) with sum removes an error on [], and might contain the text "on []". ,=The replacement is decreases laziness, for example replacing (fst x, snd x) with x makes the code stricter. -=The replacement is increases laziness, for example replacing reverse (reverse x) with x makes the code lazier. .How severe an issue is. /DErrors are suggestions that are nearly always a good idea to apply. 0RWarnings are things that some people may consider improvements, but some may not. 1GThe issue has been explicitly ignored and will usually be hidden (pass --show, on the command line to see ignored ideas). 2@Given a module containing HLint settings information return the " rules and the  expressions. o Any fixity declarations will be discarded, but any other unrecognised elements will result in an exception. 3$Given the data directory (where the hlint data files reside, see getHLintDataDir), 3 and a filename to read, and optionally that file''s contents, produce a pair containing:   Builtin hints to use, e.g. List!, which should be resolved using  builtinHints. B A list of modules containing hints, suitable for processing with 2. 0Any parse failures will result in an exception. 2 !"#$%&'()*+,-./01 !"#$%&2'3()*+,-./01' !"#$%&'()*+,-./01 "#$%23). !"#$%&'(-,+*).10/ !"#$%&2'3()*+,-./01None2Guess why a theorem is missing 34567892:;<=>8 34567892:;<=>None?;Given a set of hints, do all the HintRule hints type check @CGiven a set of hints, do all the HintRule hints satisfy QuickCheck A?@BCDE?@A?@BCDENone 4An idea suggest by a Hint. 6'The module the idea applies to, may be ""J if the module cannot be determined or is a result of cross-module hints. 7ZThe declaration the idea applies to, typically the function name, but may be a type name. 8The severity of the idea, e.g. 0. 93The name of the hint that generated the idea, e.g. " Use reverse". :%The source code the idea relates to. ;5The contents of the source code the idea relates to. <The suggested replacement, or F, for no replacement (e.g. on parse errors). =4Notes about the effect of applying the replacement. 456789:;<=GHIJKLMNO()*+,-./01$456789:;<=GHIJKLMN 4 56789:;<=GHIJKLMNONone>0Functions to generate hints, combined using the P instance. @DGiven a list of modules (and their scope information) generate some 4s. A>Given a single module and its scope information generate some 4s. B<Given a declaration (with a module and scope) generate some 4s. : This function will be partially applied with one module/scope, then used on multiple  values. CGiven a comment generate some 4s. >?@ABCQRSTB}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~wxyz{|0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   ()*+,-./01$456789:;<=GHIJKLMN>?@ABCQRS>?@ABCQRSTNoneUVWXYZ[\]^_`abcdefghWUVWXYZ[\]^_`abcdefghNoneijklmnopqrstuvwiijklmnopqrstuvwNonexyz{|}~xyz|{}~NoneNoneNoneNone None!None  "None#NoneClasses that don't work with newtype deriving -What is derived on newtype, and on data type   'deriving'K declarations may be on either, so we approximate as both newtype and data $NoneRThe position to return if we match at this point, and the map of where to go next E If two runs have the same vals, always use the first pos you find %None&None'NoneD.A list of the builtin hints wired into HLint. * This list is likely to grow over time. R=A list of builtin hints, currently including entries such as "List" and "Bracket". STransform a list of  into a >. DEFGHIJKLMNOPQRST>?@ABCRSDEFGHIJKLMNOPQRSTD QPONMLKJIHGFERST(NoneEApply hints to a single file, you may have the contents of the file. BApply hints to multiple files, allowing cross-file hints to fire. U*Given a way of classifying results, and a >1, apply to a set of modules generating a list of 4s.  The 4' values will be ordered within a file. cGiven a list of settings (a way to classify) and a list of hints, run them over a list of modules. cReturn either an idea (a parse error) or the module. In IO because might call the C pre processor. -Find which hints a list of settings implies. JGiven some settings, make sure the severity field of the Idea is correct. UUUNoneV1Get the Cabal configured data directory of HLint W'The function produces a tuple containg  (for ), and " and > for U. B It approximates the normal HLint configuration steps, roughly:  Use 3, to find and load the HLint settings files.  Use 2, to interpret the settings files, producing  values ( LHS ==> RHS replacements)  and " values to assign . ratings to hints.  Use R and T to generate a > value.  Take all fixities from the 3 modules and put them in the . JSnippet from the documentation, if this changes, update the documentation VWXI  !"#$%&'()*+,-./0123456789:;<=>?@ABCRTUVWXIU456789:;<=.10/(-,+*)"#$%&'VWX32>?@ABCR !T  VWXNoneY2Get the Cabal configured data directory of HLint. Z'The function produces a tuple containg  (for ),  and " and > for U. B It approximates the normal HLint configuration steps, roughly:   Use \ with [, to find and load the HLint settings files.  Use  and S to transform the outputs of \. hIf you want to do anything custom (e.g. using a different data directory, storing intermediate outputs, r loading hints from a database) you are expected to copy and paste this function, then change it to your needs. [Given a directory (or F to imply Y), and a mdoule name  (e.g.  HLint.Default<), find the settings file associated with it, returning the 4 name of the file, and (optionally) the contents. 9This function looks for all settings files starting with HLint. in the directory D argument, and all other files relative to the current directory. \-Given a function to load a module (typically [), and a module to start from  (defaults to  HLint.HLint0) find the information from all settings files. JSnippet from the documentation, if this changes, update the documentation YZ[\R  !"#$%&'()*+,-./01456789:;<=>?@ABCDEFGHIJKLMNOPQSUYZ[\RU456789:;<=.10/(-,+*)"#$%&'YZ\[DQPONMLKJIHGFE !>?@ABCS  YZ[\)None*None+None,None-None]A suggestion - the Show instance is of particular use. ^;From a suggestion, extract the file location it refers to. _/From a suggestion, determine how severe it is. `YThis function takes a list of command line arguments, and returns the given suggestions. # To see a list of arguments type  hlint --help at the console. % This function writes to the stdout/stderr streams, unless --quiet is specified. As an example: 9 do hints <- hlint ["src", "--ignore=Use map","--quiet"] 6 when (length hints > 3) $ error "Too many hints!" ]^_`./01]^_` ]^_`None./01]^_``]^_.10/ . / 0 123456789::;<=>>?@ABCDEEFGHIJKLMMNOPQRRSTUVWXYZ[\]^_`abcdeefghi'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z({|}~|}\----      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxwxyzy{y|y}y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy      !"#$%&'()*+,-./012304456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`a_bcdefghijklmnooppqrsstutvwxyz{|}~      !"#$%&'()*+,-./01123456789:;<=>?@ABCDEFGHIJKKLMNOPOQRSTUVWXYZ[\]^_`abcdefghijiklmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~wwwwwyyyyyyyyyyyyR      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                         .                            !"#$%&'()*+,-./0123456789:;<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7        !!L!!!!!!!!"""""##############$$$$$$$%%%&&&&''(((((()****+++++,,---------- hlint-1.9.13Language.Haskell.HLint2Language.Haskell.HLint3Language.Haskell.HLint Test.UtilTest.InputOutputHSE.Type HSE.FreeVarsHSE.Util HSE.Match HSE.ScopeHsColourParallel Paths_hlintUtilCmdLine HSE.Bracket HSE.EvaluateHSE.All Hint.UtilSettings Test.ProofTest.TranslateIdea Hint.Type Hint.Match Hint.List Hint.ListRec Hint.Monad Hint.Lambda Hint.Bracket Hint.NamingHint.Structure Hint.Import Hint.PragmaHint.ExtensionsHint.Duplicate Hint.Comment Hint.UnsafeHint.AllApplyGrepReportTest.AnnotationsTest.AllHLintScope scopeCreate scopeMatch scopeMoveEncodingdefaultEncoding useEncoding readEncodingCppFlagsCpphs CppSimpleNoCpp ParseErrorparseErrorLocationparseErrorMessageparseErrorContents ParseFlagsencodingcppFlagshseFlagsdefaultParseFlagsparseFlagsAddFixities parseModuleExHintRulehintRuleSeverity hintRuleName hintRuleScope hintRuleLHS hintRuleRHS hintRuleSide hintRuleNotesClassifyclassifySeverity classifyHintclassifyModule classifyDeclNote ValidInstance RemovesErrorDecreasesLazinessIncreasesLazinessSeverityErrorWarningIgnore readSettings findSettings ideaModuleideaDecl ideaSeverityideaHintideaSpanideaFromideaToideaNoteHint hintModules hintModulehintDecl hintComment HintBuiltin HintComment HintDuplicate HintUnsafeHintExtensions HintPragma HintImport HintStructure HintNaming HintBracket HintLambda HintMonad HintListRecHintList builtinHints resolveHints hintRules applyHintsgetHLintDataDir autoSettings autoSettings'readSettingsFile SuggestionsuggestionLocationsuggestionSeverityhlint withTestsResultfailurestotalrefprogresspassedfailedtested matchStar InputOutputnamefilesrunoutputexittestInputOutputparseInputOutputscheckInputOutput matchStarStarType_Pat_Exp_Decl_Module_Spretty-1.1.1.0Text.PrettyPrint.HughesPJstyleribbonsPerLine lineLengthmodeStylePageMode ZigZagModeLeftMode OneLineModeModehaskell-src-exts-1.16.0Language.Haskell.Exts.SrcLoc srcInfoSpan srcInfoPoints SrcSpanInfosrcSpanStartLinesrcSpanStartColumnsrcSpanFilenamesrcSpanEndLinesrcSpanEndColumnSrcSpansrcLine srcFilename srcColumnSrcLoc toSrcInfo startLine startColumn getPointLoc fromSrcInfofileNameSrcInfounLocLocLanguage.Haskell.Exts.PrettyPretty PPSemiColon PPOffsideRule PPNoLayoutPPInLinePPLayout whereIndentspacing onsideIndent multiIfIndent linePragmas letIndentlayoutdoIndent classIndent caseIndentPPHsModeIndentLanguage.Haskell.Exts.Parser parseWithModeparseWithComments Parseable Language.Haskell.Exts.ParseMonadParseOk ParseFailed ParseResult parseFilenameignoreLinePragmasignoreLanguagePragmasfixities extensions baseLanguage ParseMode#Language.Haskell.Exts.InternalLexer XStdTagOpen XStdTagClose XRPatOpen XRPatCloseXPCDATAXEmptyTagClose XCodeTagOpen XCodeTagClose XCloseTagOpen XChildTagOpen WordTokHashWARNINGVarSymVarId VRightCurly UnderscoreUNPACKTilde THVarQuote THTypQuote THTyQuote THQuasiQuote THPatQuote THParenEscape THIdEscape THExpQuote THDecQuote THCloseQuote StringTok StringHashStar SemiColonSPECIALISE_INLINE SPECIALISESOURCESCC RightSquare RightParenRightHashParenRightDblArrowTail RightCurlyRightArrowTail RightArrowRULES RPGuardOpen RPGuardCloseRPCAt QuoteColonQVarSymQVarIdQConSymQConId PragmaEndParArrayRightSquareParArrayLeftSquareOVERLAPOPTIONS NO_OVERLAPMinusMINIMAL LeftSquare LeftParen LeftHashParenLeftDblArrowTail LeftCurly LeftArrowTail LeftArrowLANGUAGEKW_WhereKW_Using KW_UnsafeKW_Type KW_ThreadsafeKW_Then KW_StdCallKW_SafeKW_Rec KW_QualifiedKW_ProcKW_Of KW_NewType KW_ModuleKW_MDoKW_LetKW_JvmKW_JsKW_Interruptible KW_Instance KW_InfixR KW_InfixLKW_InfixKW_In KW_ImportKW_If KW_HidingKW_Group KW_Foreign KW_Forall KW_Family KW_ExportKW_Else KW_DotNetKW_Do KW_Deriving KW_DefaultKW_DataKW_ClassKW_Case KW_CPlusPlusKW_CCallKW_CApiKW_ByKW_As IntTokHashIntTokINLINE_CONLIKEINLINE INCOHERENT ILinVarId IDupVarId GENERATED FloatTokHashFloatTok ExclamationEqualsEOF DoubleTokHash DoubleColon DoubleArrowDotDotDotDVarId DEPRECATEDConSymConIdCommaColon CharacterHash CharacterCOREBar Backslash BackQuoteAtANNTokenLanguage.Haskell.Exts.FixityFixityLanguage.Haskell.Exts.ExtensionUnknownLanguageHaskellAllDisabled Haskell98 Haskell2010Language XmlSyntax ViewPatternsUnliftedFFITypes UnicodeSyntaxUndecidableInstances UnboxedTuplesTypeSynonymInstances TypeOperators TypeFamilies TupleSections TrustworthyTransformListCompTemplateHaskellStandaloneDerivingScopedTypeVariables SafeImportsSafeRestrictedTypeSynonymsRelaxedPolyRecRegularPatterns RecursiveDoRecordWildCards RecordPunsRebindableSyntax RankNTypes Rank2Types QuasiQuotesPostfixOperatorsPolymorphicComponents PolyKindsPatternSignatures PatternGuardsParallelListCompParallelArraysPackageImportsOverloadedStringsOverlappingInstancesNondecreasingIndentationNewQualifiedOperatorsNamedFieldPunsNPlusKPatterns MultiWayIfMultiParamTypeClassesMonomorphismRestriction MonoPatBindsMonoLocalBinds MagicHashLiberalTypeSynonyms LambdaCaseKindSignaturesInterruptibleFFI InstanceSigsIncoherentInstancesImpredicativeTypesImplicitPreludeImplicitParams HereDocumentsGenericsGeneralizedNewtypeDerivingGHCForeignImportPrimGADTsFunctionalDependenciesForeignFunctionInterfaceFlexibleInstancesFlexibleContextsExtensibleRecordsExtendedDefaultRulesExplicitNamespacesExplicitForAllExistentialQuantificationEmptyDataDeclsDoRecDoAndIfThenElseDisambiguateRecordFieldsDeriveTraversable DeriveGeneric DeriveFunctorDeriveFoldableDeriveDataTypeableDefaultSignaturesDatatypeContexts DataKindsConstraintKindsConstrainedClassMethodsCPPCApiFFIBinaryLiterals BangPatternsArrowsKnownExtensionUnknownExtensionEnableExtensionDisableExtension ExtensionLanguage.Haskell.Exts.Comments UnknownPragmaComment&Language.Haskell.Exts.Annotated.SyntaxXNameXDomNameXAttrWarnTextDeprText WarningTextTypeEqnTyVarTyTupleTySplice TyPromotedTyParen TyParArrayTyListTyKindTyInfixTyFunTyForallTyEqualsTyConTyBangTyAppType UnkindedVar KindedVar TyVarBindYHC UnknownToolNHC98HUGSHADDOCKGHCToolRecStmt QualifierLetStmt GeneratorStmt ParenSpliceIdSpliceSpliceUnitConUnboxedSingleConTupleConListConFunConCons SpecialConSignlessNegativeSignPlaySafe PlayRiskyPlayInterruptibleSafety TypedRuleVarRuleVarRule UnGuardedRhs GuardedRhssRhsRPStarGRPStarRPPlusGRPPlusRPOptGRPOptRPatOpRPSeqRPPatRPParenRPOpRPGuardRPEitherRPCAsRPAsRPat ThenTransThenByQualStmt GroupUsing GroupByUsingGroupBy QualConDeclQVarOpQConOpQOpUnQualSpecialQualQName PromotedUnit PromotedTuplePromotedString PromotedListPromotedInteger PromotedConPromotedPFieldWildcard PFieldPun PFieldPatPatField PatTypeSigPXTagPXRPatsPXPcdataPXPatTagPXETag PWildCardPViewPatPVarPTuplePRecPRPat PQuasiQuotePParenPNPlusKPLitPListPIrrPat PInfixAppPBangPatPAsPatPAppPatPXAttrOverlap NoOverlap IncoherentVarOpConOpOp TypeNamespace NoNamespace NamespaceSymbolIdentName OptionsPragmaLanguagePragmaAnnModulePragma ModulePragma ModuleName ModuleHeadXmlPage XmlHybridModuleMatch InfixMatchStringPrimWord PrimStringPrimInt PrimFloat PrimDoublePrimCharIntFracCharLiteralKindVar KindTupleKindStar KindParenKindListKindFnKindBangKindAppKindIRuleIParenInstRuleIHParenIHInfixIHConIHAppInstHeadInsTypeInsGDataInsDeclInsDataInstDeclImportSpecListIVar IThingWith IThingAllIAbs ImportSpec importSrc importSpecs importSafeimportQualified importPkg importModuleimportAs importAnn ImportDeclIPLinIPDupIPNameIPBind GuardedRhsGadtDeclFunDep FieldWildcard FieldUpdateFieldPun FieldDeclExportSpecListEVar EThingWith EThingAllEModuleContentsEAbs ExportSpecXTagXPcdataXExpTagXETag XChildTagVarQuoteVarTypQuote TupleSectionTuple SpliceExp SCCPragma RightSectionRightArrHighApp RightArrApp RecUpdate RecConstr QuasiQuoteProcParenParCompParArrayFromToParArrayFromThenTo ParArrayCompParArrayNegAppMultiIfMDoLitListCompListLet LeftSectionLeftArrHighApp LeftArrAppLambdaLCaseInfixAppIfIPVar GenPragma ExpTypeSig EnumFromToEnumFromThenTo EnumFromThenEnumFromDo CorePragmaConCase BracketExpAppExpDerivingDHeadDHParenDHInfixDHAppDeclHeadWarnPragmaDeclTypeSig TypeInsDecl TypeFamDeclTypeDecl SpliceDeclSpecSig SpecInlineSigRulePragmaDeclPatBind MinimalPragmaInstSig InlineSigInlineConlikeSig InfixDecl GDataInsDecl GDataDeclFunBindForImpForExp DerivDeclDeprPragmaDecl DefaultDecl DataInsDecl DataFamDeclDataDeclClosedTypeFamDecl ClassDecl AnnPragmaDeclNewTypeDataType DataOrNewCxTupleCxSingleCxEmptyContextRecDecl InfixConDeclConDeclClsTyFamClsTyDef ClsDefSigClsDecl ClsDataFamStdCallJvmJsDotNet CPlusPlusCCallCApiCallConvVarNameConNameCName TypeBracket PatBracket ExpBracket DeclBracketBracketUnboxedBoxed VarFormula ParenFormula OrFormula AndFormulaBooleanFormulaIPBindsBDeclsBinds UnpackedTyBangedTyBangTypeVarAParenAInfixAIParamEqualPClassAAsstTypeAnn ModuleAnnAnn Annotationannamap AnnotatedAlt ActiveUntil ActiveFrom Activation&Language.Haskell.Exts.Annotated.Fixity applyFixities AppFixity*Language.Haskell.Exts.Annotated.ExactPrintExactP srcSpanStart srcSpanEndspanSizenoLoc noInfoSpan mkSrcSpan mergeSrcSpan isNullSpaninfoSpan combSpanInfo<^^><+?><++><**prettyPrintWithModeprettyPrintStyleMode prettyPrint defaultModefromParseResultdefaultParseModeLanguage.Haskell.Exts.LexerlexTokenStreamWithModelexTokenStream$Language.Haskell.Exts.InternalParserparseTypeWithModeparseTypeWithComments parseTypeparseStmtWithModeparseStmtWithComments parseStmtparsePatWithModeparsePatWithCommentsparsePatparseModuleWithModeparseModuleWithComments parseModuleparseExpWithModeparseExpWithCommentsparseExpparseDeclWithModeparseDeclWithComments parseDeclpreludeFixitiesinfixr_infixl_infix_ baseFixitiestoExtensionListprettyLanguageprettyExtensionparseExtensionknownLanguagesknownExtensions impliesExts glasgowExts ghcDefaultdeprecatedExtensionsclassifyLanguageclassifyExtension unsafe_nameunit_tycon_name unit_tycon unit_con_nameunit_conunboxed_singleton_tycon_nameunboxed_singleton_tyconunboxed_singleton_con_nameunboxed_singleton_contuple_tycon_name tuple_tycontuple_con_name tuple_conthreadsafe_name stdcall_name star_name safe_namequalified_name prelude_mod minus_name main_namemain_modlist_tycon_name list_tyconlist_cons_namejvm_namejs_nameinterruptible_name hiding_namefun_tycon_name fun_tycon forall_name family_name export_name dotnet_namedot_namecplusplus_name ccall_name capi_name bang_nameas_name=~= exactPrint%Language.Haskell.Exts.Annotated.BuildwildcardvarTuplevartuplesymstrPstrE simpleFunsfunqvarqualStmt pvarTuplepvarpeList patBindWherepatBindpTuplepParenpAppopnoBindsnameBind metaFunction metaConPatlistEletStmtletElamEintPintEinfixAppgenStmtgenNamesfunctioneListdoEcharPcharEcaseEbindsappFunappaltGWaltLanguage.Haskell.Exts.AnnotatedreadExtensionsparseFileWithModeparseFileWithExtsparseFileWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsWithCommentsparseFileContents parseFileLanguage.Haskell.Exts.Syntax AssocRight AssocNone AssocLeftAssocuniplate-1.6.12!Data.Generics.Uniplate.OperationsuniplatedescendMdescendUniplate descendBiM descendBibiplateBiplate$Data.Generics.Uniplate.Internal.Data Transformer universeBiuniverse transformM transformBiM transformBi transformrewriteM rewriteBiM rewriteBirewriteparaholesBiholes contextsBicontexts childrenBichildren transformer transformBisfreeVarsallVarsFreeVarsAllVarsVarsboundfreedeclBindvarsvarsspvars^+^- freeVars_inFreeinVars unqualNamesunqualOp$fFreeVarsIPBind $fFreeVars[]$fAllVarsMatch $fAllVars[] $fAllVarsDecl $fAllVars[]0$fAllVarsBinds$fAllVarsMaybe $fAllVarsStmt $fAllVars[]1 $fAllVars[]2$fAllVarsQualStmt$fFreeVarsGuardedRhs $fFreeVarsRhs $fFreeVars[]0 $fFreeVarsAlt $fAllVars[]3 $fAllVarsPat $fFreeVars[]1 $fFreeVarsExp $fAllVarsVars $fFreeVarsSet $fMonoidVarsopExpexpOp moduleDecls moduleName moduleImports modulePragmasfromModuleNamefromChar fromPChar fromString fromPString fromParen fromPParen fromTyParen fromDerivingisVarisConisApp isInfixAppisListisAnyAppisParenisIfisLambdaisMDoisBoxed isDerivDecl isPBangPat isPFieldPun isFieldPun isPWildCardisPFieldWildcardisFieldWildcard isPViewPat isParComp isPatTypeSig isQuasiQuote isSpliceDecl isNewType isSectionallowRightSectionallowLeftSectionunqualfromQual isSpecialisDolisDotisDotAppdotAppdotAppsisLexemeisWHNF getEquations toFunBindreplaceBranchesappsfromApps childrenApps descendApps descendAppsM universeApps transformAppstransformAppsM universeS childrenSuniverseParentExp showSrcLoctoSrcLoc toSrcSpan nullSrcLoc nullSrcSpanandropAnn/=~=elem_notElem_nub_ intersect_neqListeqListeqMaybe getFixityNamedtoNamed fromNamedVar_NoVar_PVar_NoPVar_PApp_NoPApp_App1NoApp1App2NoApp2Viewview~=isCtorisSym $fNamedDecl$fNamedDeclHead $fNamedMatch $fNamedQOp$fNamedTyVarBind $fNamedPat$fNamedModuleName $fNamedName $fNamedName0 $fNamedQName $fNamedQName0 $fNamedExp $fViewExpVar_$fViewPatPVar_$fViewPatPApp_ $fViewExpApp1 $fViewExpApp2base Data.Monoidmempty scopeImports possModules possImport $fMonoidScopehsColourConsole hsColourHTMLparallel parallel1 parallelNcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameGHC.IO.Handle.TypesHandleBoxreadFileEncoding exitMessagegzip descendIndexuniverseParentuniverseParentBidefaultExtensions badExtensionscmdProof cmdTempDircmdFiles cmdReports cmdGivenHints cmdWithHintscmdColor cmdIgnore cmdShowAll cmdExtension cmdLanguage cmdEncodingcmdCross cmdFindHints cmdDataDircmdJson cmdNoSummary ColorModeAutoAlwaysNever cmdUseColourCmdCmdHSECmdTest cmdQuickCheck cmdTypeCheckCmdGrep cmdPatternCmdMaincmdUtf8cmdPath cmdCppDefine cmdCppInclude cmdCppFile cmdCppSimple cmdCppAnsigetCmd automatic exitWithHelp cmdHintFiles cmdExtensionscmdCpp<\> resolveFilegetFile getModule getHintFile getExtensions readExtension$fDefaultColorModeisAtom needBracketparendescendBracket rebracket1BracketsremParenaddParentransformBracket appsBracket $fBracketsPat$fBracketsType $fBracketsExpevaluate evaluate1GHC.IO.Encodingutf8contextparseFlagsNoLocationsparseFlagsSetExtensionsrunCpp applyFixity cheapFixities askFixity niceLambda simplifyExp niceDotAppSettingInfixBuiltinSettingMatchExpSettingClassifydefaultHintName getSeverity isUnifyVaraddInfix showNotes readSettings2moduleSettings_ readHints readSetting readPragmareadSide readFuncsgetNameserrorOn findSettings2 findSettingfindExp $fShowNoteclassifyMissingTheoremoriginallocationlemmaproof missingFuncsisabelleTheoremsreparen hintTheorems $fShowTheorem $fEqTheorem testTypeChecktestQuickCheckrunMainswrap toTypeCheck toQuickCheckisRemovesError Data.MaybeNothing showIdeaJson showIdeasJsonshowANSIshowExrawIdeaideawarnerr $fShowIdeaMonoid CrossHintModuHintDeclHint $fMonoidHint NameMatchfmapAn readMatchreadRule dotVersion findIdeas matchIdeanmOpunifyunifyDefunifyExpunifyPatisOtherchecksubst checkSide checkDefine performEval unqualify addBracketlistHintlistDecllistExplistPatisAppendcheckspchecks usePStringusePList useStringuseListuseCons typeListChar typeString stringTypeBranchBListBConsBNilListCase listRecHint recursiveStr recursive matchListRecasDofindCasedelCons eliminateArgs findBranchfindPatreadPatbadFuncs monadHintmonadExp monadCall monadReturn monadJoinmonadLetfromRet lambdaHint lambdaDecl etaReduce lambdaExp fromLambda bracketHintbracket fieldDecldollar splitInfix namingHintnamingshorten suggestName replaceNamesPattern structureHinthintsasGuards asPatternpatHintexpHint importHintsimplify simplifyHeadreducereduce1newNames hierarchy desugarQual multiExport pragmaHint pragmaIdea languageDupes strToLanguage optToLanguagenoNewtypeDerivingderivesextensionsHintminimalExtensionswarningsusedExtused hasDeriveun&hasThasT2hasShasDupe duplicateHintdupesfindaddduplicateOrderedpragmas commentHintsuggest unsafeHint isUnsafeDecl isUnsafeApp isUnsafeFunbuiltinresolveBuiltin applyHintFileapplyHintFiles executeHintsparseModuleApplyallHintsclassify_docsrunGrep writeTemplate writeReport writeIdea escapeHTMLTesttestAnnotations parseTestFile parseTesttest testNamesfromSuggestionhlintHSE hlintTest hlintGrep hlintMainreadAllSettingsrunHints evaluateList$fShowSuggestion