ra      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk l m n o p q r s t u v w x y z { | } ~                   !"#$%&'()*+,-./0123456789:;< =!>"?#@$A%B&C'D'E(F(G)H*I+J+K,L,M-N.O/P0Q0R0S1T1U2V3W3X4Y4Z5[5\6]7^7_7`8@NoneNone    None9;VThis class is used to overload literal construction based on the type of the literal.The class used to overload lifting operations. To reduce code duplication, we overload the wrapped constructors (and everything else, but that's irrelevant) to work in patterns, expressions, and types.TBuild an application node, with a name for a head and a provided list of arguments.Reference a named variable. Lift a TH aTupling Listing&)A simple clause, without where or guards.'"A default clause with N arguments.(A simple Val clause+We provide 3 standard instance constructors instance_default requires C for each free type variable instance_none requires no context instance_context requires a given context.zBuild an instance of a class for a data type, using the heuristic that the type is itself required on all type arguments./PBuild an instance of a class for a data type, using the class at the given types05Build a type signature declaration with a string name1"Build a fundecl with a string name2.Build an application node without a given head4.Common pattern: list of a familiy of variables5#Variable based on a letter + number6@Make a list of variables, one for each argument to a constructor7+Make a simple pattern to bind a constructor8 Reference the constructor itselfQBuild a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)RBuild a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)SBuild a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)TBuild a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)UBuild a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)V K-way liftMI !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a> !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVI#$%&'()*+,-./01!"a` _^]2\[ZYXW3456789:;<=>@A?BCDEFGHIJKLMONPQRSUTVB !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aNoneM bbcdcdefgbcdbdc bbcdcdefgNoneMe*Expand type synonyms in a data declarationehijkeeehijkSafefgfgfgfg9SafeAT lmnopqrsturstlmnopqrstSafehihihihiSafe9;Tjjj None;klmnopqrstuvwxyz{|}~vwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~klmnopqrstuvwxyz{|}~;opqrstuvwxyz{|}~nmlk;klmnopqrstuvwxyz{|}~o1 None9;<=T+* None0vwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~klmnopqrstuvwxyz{|}~ None0 None$                       NoneM NoneOTNone:None;None<None                NoneKThe type of ways to derive classes. Should not really be in this module!The derivation function properThe name of the derivation? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~a  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVbcdeNone  !"#$%  !"#$%  !"#$% !"#$%None&&&&None'('('('(None)*)*)*)*None+,+,+,+,None-.-.-.-.None/0/0/0/0None1111None2222None34343434None56565656None78787878None9:9:9:9:None;;;; None<<<<!None===="None>>>>#(c) Bertram Felgenhauer 2009BSD3 experimentalportableNone? for JSON?     ???     $None@@@@%NoneAAAA&NoneBBBB'NoneCDCDCDCD(NoneEFEFEFEF)NoneMG !GGG !*NoneH"HHH"+NoneIJIJIJIJ,NoneKLKLKLKL-NoneM#MMM#.NoneN$%&'NNN$%&'/NoneO()*OOO()*0NoneM+,-./01P23456789:;<=>QPP+,-./01P23456789:;<=>Q1NoneSTSTSTST2NoneU?UUU?=None@!Information on argument positionsA&Monad that collects required instancesB'What argument of the current data type?C$What argument position of that type?D'What kind of traversal are we deriving?E#On what position are we traversing?F covariant?Gname of the traversal functionHIdentity traversalI Traversal of aJ Apply the sub-traversal functionK-Apply two non-identity traversals in sequenceLTraverse a function typeM)Construct a tuple from applied traversalsN-Construct a data type from applied traversalsO,Construct a clause of the traversal functionP?An expression representing a traversal of a subpart of the dataQ:Derivation for a Traversable like class with just 1 methodR8Instance for a Traversable like class with just 1 methodS%Instance for a Traversable like classT Derive a U like functionVDerive a clause of a U like function for a constructorWDerive a traversal for a typeXAFind all arguments to a type application, then derive a traversalY6Lift a traversal to the argument of a type constructorZpPosition of an argument in the data type In the type "data X a b c" positions are: a -> 3, b -> 2, c -> 1 @A[\BCD]EFGHIJKLMNOP^_QRSTVWXY`ZD]EFGHIJKLMNO^QRST@A[\BCD ]EFGHIJKLMNOP^_QRSTVWXY`Z3NoneVWaVWVWVWa4NoneXYbcXYXYXYbc5NoneZ[deZ[Z[Z[de>Nonefghijklmfjmfghijklm6None\6&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPSTUVWXYZ[\\\7None]"Derive an instance of some class. derive6 only derives instances for the type of the argument._"Derive an instance of some class.  deriveFromDec6 only derives instances for the type of the argument.]^_n9&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPSTUVWXYZ[\]^_]^_]^_n?None opqrstuvws opqrstuvw@None`xyz{``xyz{8None``|ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  H t L M O      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 :  ; < = > ? @ A A B C D E F G HIJKLMNOOPQRSOOQTUVWXYZ[\]^_`abcdefghijklmnop q!r"s#t$u%v&w'x'y(z({)|*}+~+,,-./00011233445567I77@999999999      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWWXYZ[\]^_`abcdefghijkllmmnnoopqrr5stuvw4xyz{|}~-+(.       !"#$%&'()*+,-.//0123456789:;<=>?@ABCDEFGHIIJKLMNOOPQRRSTSUSVSWSXSYSZS[S\S]S^S_S`SaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS{S|S}S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS   ::::::: : : : : :::::::::::;;;;;;;; <!<"<#<<$<%<&<'<(<)<<*<+<,<-<.</0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUmmVVWWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  ejklmnopqrstuvwxyz{|}~     1 !"#$%&'()*+,-.//0123456789:;<=>?@ABCDEFGDHIJKLMNOPQQRRSTUVWXYZ[\]^_`abcdcefghijklmnopqrstuvwxyz{|}~|a   !"##############u#$%&)))))))*-....///000000000000000000002===============================u=34455>>>>>>>>7?????????@@@@  $derive-2.5.26-9ySFFa6oehIJxN3wDEtGmJLanguage.Haskell.TH.CompatLanguage.Haskell.TH.DataLanguage.Haskell.TH.HelperLanguage.Haskell.TH.Peephole!Language.Haskell.TH.ExpandSynonymData.Derive.Class.DefaultData.Derive.Class.AritiesData.Derive.Instance.AritiesLanguage.HaskellLanguage.Haskell.ConvertData.Derive.DSL.HSEData.Derive.DSL.DSLData.Derive.DSL.ApplyData.Derive.DSL.DeriveData.Derive.DSL.SYBData.DeriveDSLLanguage.Haskell.TH.AllData.Derive.Internal.DerivationData.Derive.ArbitraryData.Derive.ArbitraryOldData.Derive.AritiesData.Derive.BinaryData.Derive.BinaryDeferData.Derive.BoundedData.Derive.DataData.Derive.DataAbstractData.Derive.DefaultData.Derive.EnumData.Derive.EnumCyclicData.Derive.EqData.Derive.FoldData.Derive.FromData.Derive.HasData.Derive.IsData.Derive.JSONData.Derive.LazySetData.Derive.LensData.Derive.MonoidData.Derive.NFDataData.Derive.OrdData.Derive.ReadData.Derive.RefData.Derive.SerialData.Derive.SerializeData.Derive.SetData.Derive.ShowData.Derive.TypeableData.Derive.UniplateDirectData.Derive.UniplateTypeableData.Derive.UpdateData.Derive.FoldableData.Derive.FunctorData.Derive.TraversableData.Derive.All Data.DeriveTHData.DeriveMainData.Derive.Internal.Instance Derive.UtilsDerive.Generate Derive.FlagsData.Derive.Internal.TraversalDerive.Derivation Derive.Test Derive.Main fromTyVar instanceDdataDefinitionTypeArgsfrom_cxt typeToPredCtorDefDataDefdataNamequalifiedDataName dataAritydataArgs dataCtorsctorNamequalifiedCtorName ctorArityctorStrictTypes ctorTypes ctorFields dropModule dropNumbernormDataunqualifiedNametypeAppeqConTisTupleTLitClitValconlKvrraw_littuplstNameLiketoName applyWith foldl1With foldr1Withsclause defclausesvalcase'->: instance_noneinstance_defaultinstance_contextsimple_instancegeneric_instancesigNfunNappdataVarsvarsvrnctvctpctcl0l1l2truefalsenilunithNil'hZero'id'consboxreturn'const'hSucc'==:&&:++:>>=:>>:.:>:ap'hCons'&&::++::>>::.:: sequence__liftmk$fLitC() $fLitC(,,) $fLitC(,)$fLitC[] $fLitCChar $fLitCInteger $fValconType $fValconPat $fValconExp $fNameLike[]$fNameLikeNamepeephole replaceVars replaceVar expandDataDefaultdefAritiesarities$fAritiesd_type FullDataDecl FieldDeclCtorDeclDataDecl?forallstyApps fromTyApps fromTyTuple fromTyParen fromTyParenstyRootisTyFun isTyParen fromTyList~=appPsimplify isGuardFalserenameisAtomparenslnoSlisIdenttitleqnamevarcontyVar tyVarBindtyConpVarqvop dataDeclTypedataDeclFields moduleName moduleDecls moduleImports modulePragmas showDeclstyApptyFunappsbindbinds isDataDecldataDeclSrcLocdataDeclContext dataDeclName dataDeclVarsdataDeclVarsStar dataDeclArity dataDeclCtors ctorDeclName ctorDeclName'ctorDeclFields ctorDeclAritydeclNameConvertconvert$fConvertKindType$fConvertTyVarBindTyVarBndr$fConvertTypeKind$fConvertTyVarBndrTyVarBind$fConvertTyVarBindName$fConvertFieldUpdate(,)$fConvertQualStmtStmt$fConvertStmtStmt$fConvertAltMatch$fConvertQOpExp$fConvertPatField(,)$fConvertQNameName$fConvertLiteralLit$fConvertPatPat$fConvertMaybe[]$fConvertBinds[]$fConvertGuardedRhs(,)$fConvertExpExp$fConvertRhsBody$fConvertMatchClause$fConvertNameName$fConvertTypeType$fConvertAsstType$fConvert(,)[]$fConvertType(,)$fConvertConDeclCon$fConvertQualConDeclCon$fConvertDeclDec$fConvertTypeAsst$fConvertTypeType0$fConvert(,)Type$fConvertConConDecl$fConvertConQualConDecl$fConvertNameQName$fConvertNameName0$fConvertNameTyVarBind$fConvertDecDecl $fConvert[][]OutputOStringOIntOAppOListOIgnoreOCustomOutCtorInputsampleoutEqshowOut ctorIndextoInputtoOutput fromOutputcoercereadConout fromState $fEqOutput $fShowOutput $fDataOutputDSLAppConcatReverseStringShowIntIntListMapFieldMapCtorDataNameCtorName CtorIndex CtorArity FieldIndexFoldHeadTailInstance ApplicationappendfromOut simplifyDSL prettyTex $fDataDSL $fShowDSLEnvenvInputenvCtorenvFieldenvFoldapplyenvapplyEnvderive $fShowGuessdslSYB deriveDSLapplyDSL dynamicDSL DerivationderivationDeriverderivationName derivation derivationQ derivationOpderivationParamsderivationCustom derivationDSLderivationCustomDSL customSplice customContext makeArbitrarymakeArbitraryOlddslArbitraryOld makeArities dslArities makeBinary dslBinarymakeBinaryDeferdslBinaryDefer makeBounded dslBoundedmakeDatamakeDataAbstract makeDefault dslDefaultmakeEnumdslEnummakeEnumCyclic dslEnumCyclicmakeEqdslEqmakeFoldmakeFrommakeHasmakeIsmakeJSON makeLazySetmakeLens makeMonoid makeNFData dslNFDatamakeOrddslOrdmakeReadmakeRef makeSerial dslSerial makeSerialize dslSerializemakeSetmakeShow makeTypeablemakeUniplateDirect $fShowAns$fEqAnsmakeUniplateTypeablecustom makeUpdate makeFoldable makeFoldableN makeFunctor makeFunctorNmakeTraversablemakeTraversableN derivationsderives deriveFromDec deriveMaintemplate-haskellLanguage.Haskell.TH.SyntaxLit traceModepeeppeepPatpeepBinsimple expandType expandType' expandSyn substituteBoxctorTypectorRep d_ctorArity d_ctorValue d_dataCtorsbase Data.DataData.haskell-src-exts-1.17.1-6G3hSTJXLEu8noQY4a7EpoLanguage.Haskell.ExtsreadExtensions'parseFileContentsWithCommentsAndPragmasparseFileContentsWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsparseFileWithCommentsAndPragmasparseFileWithCommentsparseFileWithModeparseFileWithExts parseFileLanguage.Haskell.Exts.Parser getTopPragmasparseImportDeclWithCommentsparseImportDeclWithModeparseImportDeclparseStmtWithCommentsparseStmtWithMode parseStmtparseTypeWithCommentsparseTypeWithMode parseTypeparseDeclWithCommentsparseDeclWithMode parseDeclparsePatWithCommentsparsePatWithModeparsePatparseExpWithCommentsparseExpWithModeparseExpparseModuleWithCommentsparseModuleWithMode parseModulePragmasAndModuleNamePragmasAndModuleHeadModuleHeadAndImports&Language.Haskell.Exts.Annotated.Parser NonGreedy unNonGreedyLanguage.Haskell.Exts.PrettyprettyPrimWithMode prettyPrim prettyPrintprettyPrintWithModeprettyPrintStyleMode defaultModePPLayout PPOffsideRule PPSemiColonPPInLine PPNoLayoutIndentPPHsModelayout classIndentdoIndent multiIfIndent caseIndent letIndent whereIndent onsideIndentspacing linePragmasPrettyLanguage.Haskell.Exts.LexerlexTokenStreamWithModelexTokenStream#Language.Haskell.Exts.InternalLexer showTokenTokenEOFSCCVarIdQVarId IDupVarId ILinVarIdConIdQConIdDVarIdVarSymConSymQVarSymQConSymIntTokFloatTok Character StringTok IntTokHash WordTokHash FloatTokHash DoubleTokHash CharacterHash StringHash LeftParen RightParen LeftHashParenRightHashParen SemiColon LeftCurly RightCurly VRightCurly LeftSquare RightSquareParArrayLeftSquareParArrayRightSquareComma Underscore BackQuoteDotDotDotColon QuoteColon DoubleColonEquals BackslashBar LeftArrow RightArrowAtTilde DoubleArrowMinus ExclamationStar LeftArrowTailRightArrowTailLeftDblArrowTailRightDblArrowTail THExpQuote THPatQuote THDecQuote THTypQuote THCloseQuote THIdEscape THParenEscape THVarQuote THTyQuote THQuasiQuote RPGuardOpen RPGuardCloseRPCAt XCodeTagOpen XCodeTagClose XStdTagOpen XStdTagClose XCloseTagOpenXEmptyTagClose XChildTagOpenXPCDATA XRPatOpen XRPatClose PragmaEndRULESINLINEINLINE_CONLIKE SPECIALISESPECIALISE_INLINESOURCE DEPRECATEDWARNING GENERATEDCOREUNPACKOPTIONSLANGUAGEANNMINIMAL NO_OVERLAPOVERLAP INCOHERENTKW_AsKW_ByKW_CaseKW_ClassKW_Data KW_Default KW_DerivingKW_DoKW_MDoKW_Else KW_Family KW_ForallKW_Group KW_HidingKW_If KW_ImportKW_InKW_Infix KW_InfixL KW_InfixR KW_InstanceKW_Let KW_Module KW_NewTypeKW_OfKW_ProcKW_RecKW_RoleKW_ThenKW_TypeKW_UsingKW_Where KW_Qualified KW_Pattern KW_Foreign KW_ExportKW_Safe KW_Unsafe KW_ThreadsafeKW_Interruptible KW_StdCallKW_CCall KW_CPlusPlus KW_DotNetKW_JvmKW_Js KW_JavaScriptKW_CApi Language.Haskell.Exts.ParseMonaddefaultParseModefromParseResult Parseableparse parseWithModeparseWithComments ParseResultParseOk ParseFailed ParseMode parseFilename baseLanguage extensionsignoreLanguagePragmasignoreLinePragmasfixitiesignoreFunctionArityLanguage.Haskell.Exts.Fixityinfix_infixl_infixr_ baseFixitiespreludeFixitiesprefixMinusFixityFixity AppFixity applyFixitiesLanguage.Haskell.Exts.Build metaConPat metaFunctionnameBind patBindWherepatBind simpleFunsfungenNameswildcardnoBindsletStmtgenStmtqualStmtpParenpeListeListlistEaltGWaltcaseEletElamEdoEintPcharPstrPintEcharEstrEfunction pvarTuplevarTuplepTupletuplepAppappFuninfixApppvarqvaropsymnameLanguage.Haskell.Exts.Syntax tuple_tyconunboxed_singleton_tycon list_tycon fun_tycon unit_tycontuple_tycon_nameunboxed_singleton_tycon_namelist_tycon_namefun_tycon_nameunit_tycon_name family_name forall_name capi_namejavascript_namejs_namejvm_name dotnet_namecplusplus_name ccall_name stdcall_namethreadsafe_nameinterruptible_name unsafe_name safe_name export_name star_namedot_name bang_name minus_name hiding_namequalified_nameas_nameunboxed_singleton_con tuple_conunit_conunboxed_singleton_con_namelist_cons_nametuple_con_name unit_con_name main_namemain_mod prelude_mod ModuleName SpecialConUnitConListConFunConTupleConConsUnboxedSingleConQNameQualUnQualSpecialNameSymbolIdentIPNameIPDupIPLinQOpQVarOpQConOpOpVarOpConOpCNameVarNameConNameModule ExportSpecEVarEAbs EThingAll EThingWithEModuleContents Namespace NoNamespace TypeNamespacePatternNamespace ImportDecl importModuleimportQualified importSrc importSafe importPkgimportAs importSpecs importLoc ImportSpecIVarIAbs IThingAll IThingWithAssoc AssocNone AssocLeft AssocRightDerivingDeclPatSynInstDecl ClassDeclTypeDecl TypeFamDeclClosedTypeFamDecl GDataDecl DataFamDecl TypeInsDecl DataInsDecl GDataInsDecl DerivDecl InfixDecl DefaultDecl SpliceDeclTypeSig PatSynSigFunBindPatBindForImpForExpRulePragmaDeclDeprPragmaDeclWarnPragmaDecl InlineSigInlineConlikeSigSpecSig SpecInlineSigInstSig AnnPragma MinimalPragma RoleAnnotDeclPatternSynDirectionUnidirectionalImplicitBidirectionalExplicitBidirectionalTypeEqn AnnotationAnnTypeAnn ModuleAnnBooleanFormula VarFormula AndFormula OrFormula ParenFormulaRoleNominalRepresentationalPhantom RoleWildcard DataOrNewDataTypeNewTypeBindsBDeclsIPBindsIPBindMatch QualConDeclConDecl InfixConDeclRecDeclGadtDeclClsDecl ClsDataFamClsTyFamClsTyDef ClsDefSigInsDeclInsTypeInsDataInsGDataBangTypeBangedTy UnpackedTyRhs UnGuardedRhs GuardedRhss GuardedRhsTypeTyConTyForallTyFunTyTupleTyList TyParArrayTyAppTyVarTyParenTyInfixTyKind TyPromotedTyEqualsTySpliceTyBang TyWildCardPromotedPromotedIntegerPromotedString PromotedCon PromotedList PromotedTuple PromotedUnit TyVarBind KindedVar UnkindedVarKindKindStarKindFn KindParenKindVarKindApp KindTupleKindListFunDepContextAsstClassAAppAInfixAIParamEqualPParenA WildCardALiteralCharFracPrimIntPrimWord PrimFloat PrimDoublePrimChar PrimStringSignSignlessNegativeExpVarIfIPVarConInfixAppNegAppLambdaLetMultiIfCaseDoMDoTuple TupleSectionParArrayParen LeftSection RightSection RecConstr RecUpdateEnumFrom EnumFromTo EnumFromThenEnumFromThenToParArrayFromToParArrayFromThenToListCompParComp ParArrayComp ExpTypeSigVarQuoteTypQuote BracketExp SpliceExp QuasiQuoteXTagXETagXPcdataXExpTag XChildTag CorePragma SCCPragma GenPragmaProc LeftArrApp RightArrAppLeftArrHighAppRightArrHighAppLCaseExprHoleXNameXDomNameXAttrBracket ExpBracket PatBracket TypeBracket DeclBracketSpliceIdSplice ParenSpliceSafety PlayRiskyPlaySafePlayInterruptibleCallConvStdCallCCall CPlusPlusDotNetJvmJs JavaScriptCApi ModulePragmaLanguagePragma OptionsPragmaAnnModulePragmaOverlap Incoherent NoOverlap Activation ActiveFrom ActiveUntil AlwaysActiveRuleRuleVar TypedRuleVar WarningTextDeprTextWarnTextPatPVarPLitPNPlusK PInfixAppPAppPTuplePListPParenPRecPAsPat PWildCardPIrrPat PatTypeSigPViewPatPRPatPXTagPXETagPXPcdataPXPatTagPXRPats PQuasiQuotePBangPatPXAttrRPatOpRPStarRPStarGRPPlusRPPlusGRPOptRPOptGRPatRPOpRPEitherRPSeqRPGuardRPCAsRPAsRPParenRPPatPatField PFieldPat PFieldPunPFieldWildcardStmt Generator QualifierLetStmtRecStmtQualStmt ThenTransThenByGroupBy GroupUsing GroupByUsing FieldUpdateFieldPun FieldWildcardAltLanguage.Haskell.Exts.ExtensiontoExtensionListprettyExtensionparseExtensionclassifyExtensiondeprecatedExtensionsknownExtensions ghcDefault glasgowExts impliesExtsprettyLanguageclassifyLanguageknownLanguagesLanguage Haskell98 Haskell2010HaskellAllDisabledUnknownLanguage ExtensionEnableExtensionDisableExtensionUnknownExtensionKnownExtensionOverlappingInstancesUndecidableInstancesIncoherentInstancesMonomorphismRestriction MonoPatBindsMonoLocalBindsRelaxedPolyRecExtendedDefaultRulesForeignFunctionInterfaceUnliftedFFITypesInterruptibleFFICApiFFIGHCForeignImportPrimParallelArraysArrowsTemplateHaskell QuasiQuotesImplicitParamsImplicitPreludeScopedTypeVariables UnboxedTuples BangPatterns TypeFamiliesOverloadedStringsDisambiguateRecordFieldsRecordWildCards RecordPuns ViewPatternsGADTsNPlusKPatternsDoAndIfThenElseRebindableSyntaxConstraintKinds PolyKinds DataKinds InstanceSigsStandaloneDerivingDeriveDataTypeable DeriveFunctorDeriveTraversableDeriveFoldable DeriveGenericDefaultSignaturesTypeSynonymInstancesFlexibleContextsFlexibleInstancesConstrainedClassMethodsMultiParamTypeClassesFunctionalDependencies UnicodeSyntaxExistentialQuantification MagicHashEmptyDataDeclsKindSignaturesRoleAnnotationsParallelListCompTransformListCompGeneralizedNewtypeDeriving RecursiveDoPostfixOperators TupleSections PatternGuardsLiberalTypeSynonyms RankNTypesImpredicativeTypes TypeOperatorsExplicitNamespacesPackageImportsExplicitForAllDatatypeContextsNondecreasingIndentation LambdaCase MultiWayIfBinaryLiteralsPatternSynonymsPartialTypeSignaturesNamedWildCardsDoRec Rank2TypesPolymorphicComponentsPatternSignaturesCPPGenericsNamedFieldPunsExtensibleRecordsRestrictedTypeSynonyms HereDocumentsNewQualifiedOperators XmlSyntaxRegularPatterns SafeImportsSafe TrustworthyLanguage.Haskell.Exts.CommentsComment UnknownPragmaLanguage.Haskell.Exts.SrcLocSrcLoc srcFilenamesrcLine srcColumnLoclocunLoc&Language.Haskell.Exts.Annotated.SyntaxBoxedUnboxedToolGHCHUGSNHC98YHCHADDOCK UnknownToolpretty-1.1.3.3#Text.PrettyPrint.Annotated.HughesPJMode OneLineModeLeftMode ZigZagModePageModeStyleribbonsPerLine lineLengthmodestyleconvappTc GuessStateGuessGuessFldGuessCtrctrNamesguess guessListgssFoldgssApplift fromGuesstoGuessmaximsyb&dlistAnydlistdappdsimple dinstancedstringdmapctordsingle dapplicationvPragmaExampleTestSrcsrcName srcImport srcExamplesrcTest srcCustom srcImportStdnullSrcreadHSEasPragmareadSrcgeneratedStart generatedStopwriteGenerated readFile'writeBinaryFilereprepsevilgenerate generateFilepkgUrlinstUrlwraplexemeslexemeFlagVersionHelpImportModuAppendDeriveNoOpts PreprocessorGenerateoptionsflagInfogetFlagspickFileaddFlagsreturnQbindQ sequenceQnewNamemkName mkNameG_v mkNameG_d mkNameG_tcmkNameLmkNameSunTypeQunsafeTExpCoerce liftStringLiftVarEConELitEAppEInfixEUInfixEParensELamELamCaseETupE UnboxedTupECondEMultiIfELetECaseEDoECompE ArithSeqEListESigERecConERecUpdEStaticE UnboundVarEClauseQunQLitPVarPTupP UnboxedTupPConPInfixPUInfixPParensPTildePBangPAsPWildPRecPListPSigPViewPForallTAppTSigTVarTConT PromotedTInfixTUInfixTParensTTupleT UnboxedTupleTArrowT EqualityTListTPromotedTupleT PromotedNilT PromotedConsTStarT ConstraintTLitT WildCardTDecFunDValDDataDNewtypeDTySynDClassD InstanceDSigDForeignDInfixDPragmaD DataFamilyD DataInstD NewtypeInstD TySynInstDOpenTypeFamilyDClosedTypeFamilyD RoleAnnotDStandaloneDerivD DefaultSigDFieldExpFieldPatPred TyVarBndrPlainTVKindedTVTExpunTypeInjectivityAnn Overlappable OverlappingOverlapsghc-boot-th-8.0.1.20160521GHC.LanguageExtensions.TypeCppUndecidableSuperClasses JavaScriptFFITemplateHaskellQuotesAllowAmbiguousTypesTypeFamilyDependencies TypeInTypeOverloadedLists NumDecimals GADTSyntax ApplicativeDoAutoDeriveTypeableDeriveAnyClass DeriveLiftNullaryTypeClassesMonadComprehensionsAlternativeLayoutRule!AlternativeLayoutRuleTransitional RelaxedLayoutTraditionalRecordSyntaxNegativeLiteralsDuplicateRecordFieldsOverloadedLabels EmptyCaseStaticPointersTypeApplicationsStrict StrictDataMonadFailDesugaringthenCmpcmpEq defaultFixity maxPrecedencemk_unboxed_tup_nameunboxedTupleTypeNameunboxedTupleDataName mk_tup_name tupleTypeName tupleDataName showName'showNamemkNameGmkNameU nameSpace namePackage nameModulenameBase occString mkOccName pkgString mkPkgName modString mkModName dataToPatQliftData dataToExpQdataToQa rightNameleftNamejustName nothingName falseNametrueName extsEnabled isExtEnabledputQgetQaddModFinalizer addTopDeclsaddDependentFilerunIOlocation isInstancereifyConStrictness reifyModulereifyAnnotations reifyRolesreifyInstances reifyFixityreifylookupValueNamelookupTypeName lookupNamerecover reportWarning reportErrorreportrunQcounterbadIOQuasiqNewNameqReportqRecover qLookupNameqReify qReifyFixityqReifyInstances qReifyRolesqReifyAnnotations qReifyModuleqReifyConStrictness qLocationqRunIOqAddDependentFile qAddTopDeclsqAddModFinalizerqGetQqPutQ qIsExtEnabled qExtsEnabledModNamePkgNameOccName NameFlavourNameSNameQNameUNameLNameG NameSpace TcClsNameUniqNameIsInfixAloneApplied loc_filename loc_package loc_module loc_startloc_endCharPosInfoClassIClassOpITyConIFamilyI PrimTyConIDataConIVarITyVarI ModuleInfo ParentNameArityUnlifted InstanceDecFixityDirectionInfixLInfixRInfixNCharLStringLIntegerL RationalLIntPrimL WordPrimL FloatPrimL DoublePrimL StringPrimL CharPrimLBodyGuardedBNormalBGuardNormalGPatGBindSLetSNoBindSParSRangeFromR FromThenRFromToR FromThenToRTypeFamilyHeadTySynEqn FamFlavourTypeFamDataFamForeignImportFExportFCallconvPrimUnsafe InterruptibleInlineP SpecialisePSpecialiseInstPRulePAnnPLinePInlineNoInline Inlinable RuleMatchConLikeFunLikePhases AllPhases FromPhase BeforePhaseRuleBndr AnnTargetModuleAnnotationTypeAnnotationValueAnnotationCxtSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackNormalCRecCInfixCForallCGadtCRecGadtCBang VarBangType StrictType VarStrictTypeFamilyResultSigNoSigKindSigTyVarSigTyLitNumTyLitStrTyLitNominalRRepresentationalRPhantomRInferR AnnLookupAnnLookupModule AnnLookupNamecontextsplicemkFoldfoldType makeFromCtortyTuplevalTuple makeHasField makeIsCtormkShowmkShowPlainFieldsmkShowRecordFieldsmkRead mkReadCtor mkReadRecordmkReadRecordField mkReadPlain mkReadTrailer mkJSObject mkJSArraypVarsmakeLazySetField makeLensField dslMonoidgetCtor hasFieldsreadCtor readFieldsmatchStr makeRefField makeSetField customPlain customFields mkTypeableinstshowNSAnsHitMissTryListHitListTrymakemake1ansListansJoinrunoperator operator2subst substData substType knownCtorslistCtor tupleDefnmakeUpdateField ArgPositions WithInstances_requiredDataArg_requiredPosition TraveralType traversalArg traversalCo traversalName traversalIdtraversalDirect traversalFunc traversalPlus traverseArrow traverseTuple traverseCtor traverseFuncTravtraversalDerivation1traversalInstance1traversalInstancederiveTraversalData.TraversabletraversederiveTraversalCtorderiveTraversalTypederiveTraversalApp traverseArg argPositionsRequiredInstancedefaultTraversalTypetraversalNameNfoldrTraversalfunctorTraversalfunctorForArrowTypetraverseTraversalliftAN wantDerivewantDeriveFlagwantDeriveAnnotation moduleDerives performDerivegetDecl getDerivation writeDerivetoFullDataDecloverlapsexcludeprioritylistTypetesttestFile detailedNeqautoTest isBuiltInmainFile uncommentdefaultExtensions badExtensions