h&U Safe-Inferred /record-dot-preprocessor No extensionDifferent GHC versions want different kinds of annotations. This class is intended to abstract over this.record-dot-preprocessorWithout location informationDifferent GHC versions want different kind of location information in different places. This class is intended to abstract over this.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred%&record-dot-preprocessor=A lexeme of text, approx some letters followed by some space.record-dot-preprocessor#1-based line number (0 = generated)record-dot-preprocessor"1-based col number (0 = generated)record-dot-preprocessorActual text of the itemrecord-dot-preprocessorSuffix spaces and comments Safe-Inferred8zrecord-dot-preprocessor(A list of items which are paranthesised. Safe-Inferred(wrecord-dot-preprocessor7Represent a record, ignoring constructors. For example: data Type a b = Ctor1 {field1 :: Int, field2 :: String} | Ctor2 {field1 :: Int, field3 :: [Bool]}Gets parsed as: Record "Type" ["a","b"] [Ctor "Ctor1" [("field1","Int"), ("field2","String")] [Ctor "Ctor2" [("field1","Int"), ("field3","[Bool]")]record-dot-preprocessor"This test does not check that the quoter name is a qualified identifier, instead relying on lack of whitespace in the opener and existence of a paired closed (|])record-dot-preprocessor;Add the necessary extensions, imports and local definitionsrecord-dot-preprocessor#Find all the records and parse them Safe-Inferred "%&'( record-dot-preprocessor GHC plugin.record-dot-preprocessorTurn a.b.c into Just [a,b,c]record-dot-preprocessorLens on: f [x]record-dot-preprocessorLens on: [f] x y zrecord-dot-preprocessorLens on: a + [b]record-dot-preprocessorLens on: [r]{f1=x1}{f2=x2}record-dot-preprocessorIs it equal to: .record-dot-preprocessorAre the end of a and the start of b next to each other, no white spacerecord-dot-preprocessorAre the end of a and the start of b next to each other, no white space Safe-Inferred             !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMLNLMLOLPLQLRLSLTLULVLWLPLXLYLZLYL[\]\^\_\`\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\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     5record-dot-preprocessor-0.2.16-IfP0BNh7M6aFXM1h3RzYBdRecordDotPreprocessor.LibRecordDotPreprocessorCompatLexerParenEditrecordDotPreprocessorrecordDotPreprocessorOnFragmentpluginnoEnoLbase Data.IORef modifyIORef' modifyIORef mkWeakIORefatomicWriteIORefatomicModifyIORef GHC.IORefIORef writeIORef readIORefnewIORefatomicModifyIORef'ghcGHC.Rename.HsTypeWarnUnusedForallsNoWarnUnusedForallsNegationHandlingKeepNegationIntactReassociateNegationHsPatSigTypeScoping AlwaysBind NeverBind FreeKiTyVarsrnScaledLHsTypernLTyVar rnLHsTypes rnLHsTypeArgs rnLHsType rnLHsKindrnImplicitTvOccs rnHsWcTypernHsType rnHsSigWcType rnHsSigTypernHsPatSigTypeBindingVarsrnHsPatSigTypernHsKind rnContextrnConDeclFieldsnubNnubLnewTyVarNameRn mkOpFormRn mkOpAppRn mkNegAppRn mkConOpPatRn lookupFieldextractRdrKindSigVarsextractHsTysRdrTyVarsextractHsTyRdrTyVarsKindVarsextractHsTyRdrTyVarsextractHsTyArgRdrKiTyVarsextractHsOuterTvBndrsextractDataDefnKindVarsextractConDeclGADTDetailsTyVarscheckSectionPreccheckPrecMatchbindSigTyVarsFVbindLHsTyVarBndrsbindLHsTyVarBndr bindHsQTyVarsbindHsOuterTyVarBndrsbindHsForAllTelescopeGHC.HsHsParsedModule hpm_src_files hpm_moduleHsModule hsmodName hsmodLayout hsmodImportshsmodHaddockModHeader hsmodExportshsmodDeprecMessage hsmodDeclshsmodAnn AnnsModuleam_mainam_decls GHC.Hs.Utils CollectPass collectXXPat CollectFlagCollNoDictBindersCollWithDictBinders unitRecStmtTc unguardedRHSunguardedGRHSsspanHsLocaLBindsnl_HsVar nlWildPatName nlWildPat nlWildConPatnlVarPat nlTuplePatnlParPatnlNullaryConPatnlLitPatnlList nlInfixConPat nlHsVarAppsnlHsVar nlHsTyVar nlHsTyConApp nlHsTyApps nlHsTyAppnlHsSyntaxApps nlHsParTynlHsPar nlHsOpAppnlHsLitnlHsLam nlHsIntLitnlHsIf nlHsFunTynlHsDo nlHsDataConnlHsCasenlHsApps nlHsAppTy nlHsAppKindTynlHsAppnlConVarPatName nlConVarPat nlConPatNamenlConPat mkVarBindmkUntypedSplice mkTypedSplicemkTransformStmtmkTransformByStmt mkTopFunBind mkTcBindStmt mkSimpleMatchmkSimpleGeneratedFunBind mkRnBindStmt mkRecStmt mkPsBindStmtmkPrefixFunRhs mkPatSynBindmkParPat mkNPlusKPatmkNPat mkMatchGroupmkMatch mkLocatedList mkLetStmt mkLastStmt mkLHsWrapCo mkLHsWrap mkLHsVarTuplemkLHsTupleExprmkLHsPar mkLHsCmdWrap mkHsWrapPatCo mkHsWrapPat mkHsWrapCoR mkHsWrapComkHsWrap mkHsVarBindmkHsStringPrimLit mkHsString mkHsSigEnvmkHsQuasiQuotemkHsPar mkHsOpAppmkHsLamsmkHsLam mkHsIsString mkHsIntegralmkHsIfmkHsFractional mkHsDoAnnsmkHsDo mkHsDictLet mkHsCompAnnsmkHsComp mkHsCmdWrap mkHsCmdIfmkHsCharPrimLit mkHsCaseAlt mkHsAppsWithmkHsApps mkHsAppWith mkHsAppTypes mkHsAppTypemkHsAppmkGroupUsingStmtmkGroupByUsingStmt mkFunBind mkClassOpSigs mkChunkified mkBodyStmtmkBigLHsVarTupmkBigLHsVarPatTup mkBigLHsTupmkBigLHsPatTup missingTupArglStmtsImplicits lPatImplicitsisUnliftedHsBindisInfixFunBindisBangedHsBindhsValBindsImplicitshsTypeToHsSigWcTypehsTypeToHsSigTypehsTyClForeignBindershsPatSynSelectorshsLTyClDeclBindershsGroupBindershsForeignDeclsBindershsDataFamInstBindersgetPatSynBindsemptyTransStmtemptyRecStmtNameemptyRecStmtId emptyRecStmtcollectStmtsBinderscollectStmtBinderscollectPatsBinderscollectPatBinderscollectMethodBinderscollectLocalBinderscollectLStmtsBinderscollectLStmtBinderscollectHsValBinderscollectHsIdBinderscollectHsBindsBinderscollectHsBindListBinderscollectHsBindBinderschunkify GHC.Hs.Expr XXExprGhcTc ExpansionExprWrapExpr XBindStmtTc xbstc_failOpxbstc_boundResultTypexbstc_boundResultMult xbstc_bindOp XBindStmtRn xbsrn_failOp xbsrn_bindOp SyntaxExprTc syn_res_wrapsyn_expr syn_arg_wrapsNoSyntaxExprTc SyntaxExprRnNoSyntaxExprRn SyntaxExprGhc RecordUpdTc rupd_wrap rupd_out_tys rupd_in_tys rupd_cons RecStmtTc recS_ret_ty recS_rec_retsrecS_later_rets recS_bind_ty PostTcTable PostTcExprPendingTcSplicePendingRnSpliceHsWrap HsSplicedT HsExpansion HsExpandedGrhsAnnga_vbarga_sepEpAnnUnboundVar hsUnboundHolehsUnboundBackquotes EpAnnHsCasehsCaseAnnsRest hsCaseAnnOf hsCaseAnnCase DelayedSpliceCmdTopTcAnnsLetalLetalInAnnsIf aiThenSemiaiThenaiIf aiElseSemiaiElse AnnProjectionapOpenapClose AnnFieldLabelafDotAnnExplicitSumaesOpenaesClose aesBarsBefore aesBarsAfter tupArgPresent thTyBrackets thBracketsstripParensLHsExprstripParensHsExprppr_splice_decl ppr_splice ppr_quasippr_module_name_prefix ppr_lexprppr_lcmdppr_infix_exprppr_expr ppr_do_stmtsppr_cmdppr_appspprTransformStmt pprTransStmt pprStmtInCtxtpprStmtpprQualspprPendingSplicepprParendLExpr pprParendExpr pprMatchespprMatchInCtxtpprMatchpprLCmd pprHsBracketpprGRHSspprGRHSpprDopprDebugParendExprpprComp pprCmdArgpprCmdpprBypprBinds pprBindStmtpprArgpp_rhs pp_dotdotparenthesizeHsExpr noSyntaxExprnoExpr mkSyntaxExprmkRnSyntaxExprmatchGroupAritymatchContextErrStringmatchArrowContextErrStringisSingletonMatchGroup isQuietHsExpr isQuietHsCmdisEmptyMatchGroupisAtomicHsExpr hsLMatchPatshsExprNeedsParens GHC.Hs.DeclsXViaStrategyPs HsRuleAnn ra_tyanns ra_tmannsra_resttyFamInstDeclNametyFamInstDeclLName tyClDeclLNametcdNamestandaloneKindSigNameroleAnnotDeclNameresultVariableNamepprTyFamInstDeclpprTyClDeclFlavourpprHsFamInstLHSpprDataFamInstFlavourpartitionBindsAndSigsmapDerivStrategyinstDeclDataFamInstshsGroupTopLevelFixitySigs hsDeclHasCuskhsConDeclThetagetRecConArgs_maybe getConNamesfoldDerivStrategyflattenRuleDeclsfamilyDeclNamefamilyDeclLNamefamResultKindSignature emptyRnGroup emptyRdrGroup appendGroups GHC.Hs.Pat ListPatTc EpAnnSumPatsumPatVbarsBeforesumPatVbarsAfter sumPatParensConPatTccpt_wrapcpt_tvs cpt_dicts cpt_binds cpt_arg_tysCoPat co_pat_ty co_pat_inner co_cpt_wrap pprParendLPat pprConArgspatNeedsParensparenthesizePatmkPrefixConPatmkNilPat mkCharLitPatlooksLazyPatBind isSimplePatisIrrefutableHsPat isBangedLPathsRecUpdFieldRdrhsRecUpdFieldOcchsRecUpdFieldId hsRecFieldIdcollectEvVarsPatscollectEvVarsPat GHC.Hs.Binds NHsValBindsLR NValBindsAnnSigasRestasDcolonpragSrcBrackets pragBracketsppr_sig ppr_monobind pprVarSigpprTickspprTcSpecPragspprSpec pprMinimalSigpprLHsBindsForUser pprLHsBinds pprDeclListplusHsValBindsisEmptyValBindsisEmptyLHsBindsisEmptyIPBindsTcisEmptyIPBindsPReqEmptyLocalBindsemptyValBindsOutemptyValBindsInemptyLocalBinds emptyLHsBinds GHC.Hs.TypeOutputableBndrFlag EpAnnForallTyunambiguousFieldOccsplitLHsSigmaTyInvissplitLHsQualTysplitLHsPatSynTysplitLHsInstDeclTysplitLHsGadtTysplitLHsForAllTyInvis_KPsplitLHsForAllTyInvissplitHsFunTypesetHsTyVarBndrFlagselectorAmbiguousFieldOccrdrNameAmbiguousFieldOcc pprLHsContext pprHsTypepprHsOuterSigTyVarBndrspprHsOuterFamEqnTyVarBndrs pprHsForAllpprConDeclFieldspprAnonWildCardparenthesizeHsTypeparenthesizeHsContextmkHsWildCardBndrsmkHsQTvsmkHsPatSigTypemkHsOuterImplicitmkHsOuterExplicitmkHsOpTymkHsImplicitSigTypemkHsForAllVisTelemkHsForAllInvisTelemkHsExplicitSigType mkHsAppTys mkHsAppTy mkHsAppKindTy mkFieldOccmkEmptyWildCardBndrsmkAnonWildCardTymkAmbiguousFieldOcclhsTypeArgSrcSpanisUnrestricted ignoreParens hsWcScopedTvshsTypeNeedsParens hsTyVarNamehsTyVarBndrFlag hsTyKindSighsTyGetAppHead_maybehsTvbAllKinded hsSigWcType hsScopedTvshsOuterTyVarNameshsOuterExplicitBndrs hsLTyVarNames hsLTyVarNamehsLTyVarLocNameshsLTyVarLocNamehsExplicitLTyVarNameshsAllLTyVarNamesgetLHsInstDeclHeadgetLHsInstDeclClass_maybe getBangTypegetBangStrictnessfromMaybeContext emptyLHsQTvs dropWildCards arrowToHsTypeambiguousFieldOcc GHC.Hs.Lit OverLitTcol_type ol_rebindable pp_st_suffix pmPprHsLit overLitType convertLit pprSpliceDecl pprSplice pprPatBindpprLExpr pprFunBindpprExprLanguage.Haskell.Syntax.ExprUntypedSpliceFlavourUntypedTypeSpliceUntypedPatSpliceUntypedDeclSpliceUntypedExpSplice TransForm GroupFormThenFormThModFinalizersStmtLR trS_using trS_stmtstrS_rettrS_formtrS_fmaptrS_exttrS_by trS_bndrstrS_bind recS_stmts recS_ret_fn recS_rec_ids recS_mfix_fnrecS_later_idsrecS_ext recS_bind_fnXStmtLR TransStmtRecStmtParStmtLetStmtLastStmtBodyStmtApplicativeStmtBindStmtStmtSplicePointNameSpliceDecoration BareSplice DollarSplice RecUpdProjRecProjPendingTcSplice'PendingRnSplice' ParStmtBlock XParStmtBlock MatchGroupTc mg_res_ty mg_arg_tysMatchm_patsm_grhssm_extm_ctxtXMatchLStmtLRLStmtLMatch LHsTupArg LHsRecUpdProj LHsRecProj LHsCmdTopLHsCmdLGRHSHsTupArgXTupArgMissingPresent HsStmtContext TransStmtCtxtPatGuard ParStmtCtxt MonadCompMDoExprListComp GhciStmtCtxt ArrowExprDoExprHsSplicedThing HsSplicedTy HsSplicedExpr HsSplicedPat HsRecordBindsHsPragE HsPragSCCXHsPragEHsMatchContext mc_strictnessmc_fun mc_fixity ThPatSplice ThPatQuoteStmtCtxtRecUpd PatBindRhs PatBindGuards LambdaExprIfAltFunRhsCaseAltPatSynArrowMatchCtxt HsFieldLabelhflLabelhflExt XHsFieldLabelHsDoRnHsCmdTopXCmdTopHsCmdXCmdHsCmdParHsCmdLet HsCmdLamCaseHsCmdLamHsCmdIfHsCmdDo HsCmdCase HsCmdArrFormHsCmdApp HsCmdArrApp HsBracketRn HsBracketVarBrTypBrTExpBrPatBrExpBrDecBrLXBracketDecBrGHsArrowMatchContextProcExpr ArrowCaseAlt KappaExpr HsArrAppTypeHsFirstOrderAppHsHigherOrderApp GuardStmt GuardLStmtGhciStmt GhciLStmtGRHSXGRHSFieldLabelStrings FailOperatorExprStmt ExprLStmtCmdSyntaxTableCmdStmtCmdLStmt ArithSeqInfoFromTo FromThenToFromFromThenApplicativeArgStmCtxPassApplicativeArgxarg_app_arg_onexarg_app_arg_many stmt_context is_body_stmt final_expr bv_patternarg_expr app_stmtsapp_arg_patternXApplicativeArgApplicativeArgManyApplicativeArgOnequalifiedDoModuleName_maybeprependQualifiedpprStmtContextpprMatchContextNounpprMatchContextpprFieldLabelStringspprExternalSrcLocpprArrowMatchContextNounpprAStmtContextmatchSeparator isTypedSpliceisTypedBracket isPatSynCtxtisMonadStmtContextisMonadCompContext isInfixMatchisComprehensionContextLanguage.Haskell.Syntax.Decls WarnDecls wd_warningswd_srcwd_extWarnings XWarnDeclsWarnDeclWarning XWarnDecl TyFamInstEqn TyFamInstDecltfid_xtntfid_eqnXTyFamInstDeclTyFamDefltDecl TyClGroup group_tyclds group_roles group_kisigs group_instds group_ext XTyClGroupTyClDecl tcdTyVarstcdSigstcdSExttcdRhstcdMethstcdLName tcdFixitytcdFamtcdFExttcdFDstcdDocs tcdDataDefntcdDExttcdCtxttcdCExttcdATs tcdATDefs XTyClDeclSynDeclFamDecl ClassDeclDataDeclStandaloneKindSigXStandaloneKindSig SpliceDecl XSpliceDecl RuleDeclsrds_src rds_rulesrds_extHsRules XRuleDeclsRuleDeclrd_tyvsrd_tmvsrd_rhsrd_namerd_lhsrd_extrd_actHsRule XRuleDeclRuleBndr XRuleBndr RuleBndrSig RoleAnnotDeclXRoleAnnotDecl NewOrDataDataTypeNewType LWarnDecls LWarnDecl LTyFamInstEqnLTyFamInstDeclLTyFamDefltDecl LTyClDeclLStandaloneKindSig LSpliceDecl LRuleDecls LRuleDecl LRuleBndrLRoleAnnotDecl LInstDeclLInjectivityAnn LHsFunDepLHsDerivingClauseLHsDecl LForeignDeclLFamilyResultSig LFamilyDeclLDocDeclLDerivStrategy LDerivDeclLDerivClauseTys LDefaultDeclLDataFamInstDeclLConDecl LClsInstDeclLAnnDeclInstDecl tfid_insttfid_ext dfid_instdfid_extcid_inst cid_d_ext XInstDecl TyFamInstDClsInstD DataFamInstDInjectivityAnnXInjectivityAnnHsTyPatsHsRuleRnHsGroup hs_warndshs_valds hs_tyclds hs_splcds hs_ruledshs_fordshs_fixdshs_exths_docs hs_derivdshs_defdshs_anndsXHsGroupHsDerivingClausederiv_clause_tysderiv_clause_strategyderiv_clause_extXHsDerivingClause HsDerivingHsDeclXHsDeclWarningDValDTyClDSpliceDSigDRuleD RoleAnnotDKindSigDInstDForDDocDDerivDAnnDDefD HsDataDefn dd_kindSigdd_ext dd_derivsdd_ctxtdd_consdd_cTypedd_ND XHsDataDefnHsConDeclH98DetailsHsConDeclGADTDetails PrefixConGADT RecConGADTFunDepXFunDep ForeignImportCImport ForeignExportCExport ForeignDecl fd_sig_tyfd_namefd_i_extfd_fifd_fefd_e_ext XForeignDeclFamilyResultSigXFamilyResultSigTyVarSigKindSigNoSig FamilyInfoOpenTypeFamilyClosedTypeFamily DataFamily FamilyDeclfdTyVars fdTopLevel fdResultSigfdLNamefdInjectivityAnnfdInfofdFixityfdExt XFamilyDeclFamEqn feqn_tyconfeqn_rhs feqn_pats feqn_fixityfeqn_ext feqn_bndrsXFamEqnDocDeclDocGroupDocCommentPrevDocCommentNamedDocCommentNext DerivStrategy ViaStrategy StockStrategyAnyclassStrategyNewtypeStrategy DerivDecl deriv_typederiv_strategyderiv_overlap_mode deriv_ext XDerivDeclDerivClauseTysXDerivClauseTysDctMulti DctSingle DefaultDecl XDefaultDeclDataFamInstDecldfid_eqn DataDeclRntcdFVs tcdDataCuskConDecl con_res_ty con_namescon_name con_mb_cxt con_g_ext con_g_args con_forallcon_ext con_ex_tvscon_doc con_bndrscon_argsXConDecl ConDeclGADT ConDeclH98 ClsInstDeclcid_tyfam_instscid_sigs cid_poly_tycid_overlap_modecid_extcid_datafam_insts cid_binds XClsInstDecl CImportSpecCWrapperCLabel CFunction AnnProvenanceValueAnnProvenanceModuleAnnProvenanceTypeAnnProvenanceAnnDecl HsAnnotationXAnnDecltyClGroupTyClDeclstyClGroupRoleDeclstyClGroupKindSigstyClGroupInstDeclstyClDeclTyVarspprFullRuleName pprFlavournewOrDataToFlavourisTypeFamilyDecl isSynDeclisOpenTypeFamilyInfo isFamilyDeclisDataFamilyDecl isDataDeclisClosedTypeFamilyInfo isClassDeclhsGroupInstDecls docDeclDocderivStrategyNamecountTyClDeclscollectRuleBndrSigTysannProvenanceName_maybeLanguage.Haskell.Syntax.Binds TcSpecPragsIsDefaultMethod SpecPrags TcSpecPragSpecPragSigXSigTypeSigSpecSig SpecInstSig SCCFunSig PatSynSig MinimalSig InlineSigIdSigFixSig ClassOpSigCompleteMatchSigRecordPatSynFieldrecordPatSynPatVarrecordPatSynField PatSynBindpsb_idpsb_extpsb_dirpsb_defpsb_args XPatSynBindPSB LTcSpecPragLSigLIPBindLHsLocalBindsLR LHsLocalBinds LHsBindsLRLHsBinds LHsBindLRLHsBind LFixitySigIPBindXIPBind HsValBindsLRValBinds XValBindsLR HsValBinds HsPatSynDirUnidirectionalExplicitBidirectionalImplicitBidirectionalHsPatSynDetailsHsLocalBindsLRXHsLocalBindsLR HsIPBindsEmptyLocalBinds HsLocalBinds XHsIPBindsIPBindsHsBindLRvar_rhsvar_idvar_ext pat_tickspat_rhspat_lhspat_extfun_tick fun_matchesfun_idfun_extabs_tvsabs_sigabs_ext abs_exports abs_ev_vars abs_ev_binds abs_binds XHsBindsLRVarBindPatBindAbsBindsFunBindHsBind FixitySig XFixitySigABExportabe_wrap abe_pragsabe_polyabe_monoabe_extABE XABExport noSpecPrags isTypeLSig isSpecLSigisSpecInstLSig isSCCFunSig isPragLSig isMinimalLSig isInlineLSig isFixityLSigisDefaultMethodisCompleteMatchSighsSigDoc hasSpecPragspprLPatLanguage.Haskell.Syntax.PatLHsRecUpdField LHsRecField' LHsRecField HsRecUpdField HsRecFieldsrec_flds rec_dotdot HsRecField'hsRecPun hsRecFieldLbl hsRecFieldArg HsRecField hsRecFieldAnnHsConPatDetailsConLikePhsRecFieldsArgs hsRecFields hsRecFieldSel hsConPatArgsLanguage.Haskell.Syntax.Type LHsWcType LHsTypeArgLHsType LHsTyVarBndr LHsSigWcType LHsSigType LHsQTyVarshsq_ext hsq_explicitHsQTvs XLHsQTyVarsLHsKind LHsContext LFieldOcc LConDeclField LBangTypeHsWildCardBndrshswc_ext hswc_bodyHsWCXHsWildCardBndrsHsType hst_xqual hst_xforallhst_telehst_ctxthst_bodyXHsType HsWildCardTyHsTyVar HsTupleTyHsSumTyHsStarTy HsSpliceTyHsRecTyHsQualTyHsParTyHsOpTyHsListTy HsKindSig HsIParamTyHsFunTy HsForAllTyHsExplicitTupleTyHsExplicitListTyHsDocTyHsBangTyHsAppTyHsTyLit HsAppKindTy HsTyVarBndr XTyVarBndr KindedTyVar UserTyVarHsStrTyHsCharTyHsNumTy HsTupleSortHsBoxedOrConstraintTupleHsUnboxedTuple HsSigTypesig_extsig_body sig_bndrsHsSig XHsSigTypeHsScaled HsPatSigTypehsps_ext hsps_bodyHsPS XHsPatSigTypeHsPSRn hsps_nwcs hsps_imp_tvsHsOuterTyVarBndrs hso_ximplicit hso_xexplicit hso_bndrsXHsOuterTyVarBndrsHsOuterExplicitHsOuterImplicitHsOuterSigTyVarBndrsHsOuterFamEqnTyVarBndrsHsKindHsIPNameHsForAllTelescopehsf_xvis hsf_xinvis hsf_vis_bndrshsf_invis_bndrsXHsForAllTelescope HsForAllInvis HsForAllVisHsCoreTy HsContext HsConDetailsRecConInfixCon PrefixConHsArrowHsUnrestrictedArrowHsExplicitMult HsLinearArrowHsArgHsValArgHsArgPar HsTypeArgFieldOccrdrNameFieldOcc extFieldOcc XFieldOcc ConDeclField cd_fld_type cd_fld_names cd_fld_ext cd_fld_doc XConDeclFieldBangTypeAmbiguousFieldOccXAmbiguousFieldOcc Ambiguous UnambiguousnumVisibleArgs noTypeArgsmapHsOuterImplicitisHsKindedTyVarhsUnrestricted hsScaledThing hsQTvExplicit hsPatSigTypehsMulthsLinear hsIPNameFSPat pat_con_extpat_conpat_argsXPatWildPatViewPatVarPatTuplePatSumPat SplicePatSigPatParPat NPlusKPatNPatLitPatListPatLazyPatConPatAsPatBangPatLPatLanguage.Haskell.Syntax.Lit OverLitVal HsIsString HsFractional HsIntegral HsOverLit ol_witnessol_valol_extXOverLitOverLitHsLitXLit HsWordPrim HsWord64Prim HsStringPrimHsStringHsRat HsInteger HsIntPrim HsInt64PrimHsInt HsFloatPrim HsDoublePrimHsChar HsCharPrimnegateOverLitValhsOverLitNeedsParenshsLitNeedsParens GHC.Hs.ImpExp LImportDeclLIEWrappedNameLIEImportDeclQualifiedStyle QualifiedPre NotQualified QualifiedPost ImportDeclideclSourceSrc ideclSource ideclSafeideclQualified ideclPkgQual ideclName ideclImplicit ideclHidingideclExtideclAs XImportDecl IEWrappedNameIETypeIEName IEPattern IEWildcard NoIEWildcardIEXIEIEVar IEThingWith IEThingAll IEThingAbsIEModuleContentsIEGroupIEDoc IEDocNamedEpAnnImportDeclimportDeclAnnSafeimportDeclAnnQualifiedimportDeclAnnPragmaimportDeclAnnPackageimportDeclAnnImportimportDeclAnnAssimpleImportDeclreplaceWrappedNamereplaceLWrappedName pprImpExplieWrappedNameisImportDeclQualifiedimportDeclQualifiedStyle ieWrappedNameieWrappedLNameieNamesieNameieLWrappedNameGHC.Hs.ExtensionPass TypecheckedParsedRenamedOutputableBndrId NoGhcTcPass IsSrcSpanAnnIsPassghcPassIdGhcPGhcTcGhcRnGhcPsGhcPasspprIfTcpprIfRnpprIfPs SyntaxExpr MatchGroup mg_originmg_extmg_altsMG XMatchGroupLHsExprHsSpliceXSpliceHsUntypedSplice HsTypedSplice HsQuasiQuote HsSplicedHsExpr rupd_fldsrupd_ext rupd_expr rcon_fldsrcon_extrcon_con proj_fldsproj_extgf_fieldgf_extgf_exprXExprSectionRSectionL RecordUpd RecordConOpAppNegAppHsVar HsUnboundVarHsTickHsTcBracketOutHsStatic HsSpliceEHsRnBracketOutHsRecFld HsProjectionHsProcHsPar HsOverLabel HsMultiIfHsLet HsLamCaseHsLamHsIfHsIPVar HsGetFieldHsDo HsConLikeOutHsCase HsBinTick HsAppTypeHsApp ExprWithTySig ExplicitTuple ExplicitSum ExplicitListArithSeqGRHSsgrhssLocalBinds grhssGRHSsgrhssExtXGRHSs!Language.Haskell.Syntax.Extension XXWarnDecls XXWarnDecl XXValBindsLRXXType XXTyVarBndrXXTyFamInstDecl XXTyClGroup XXTyClDeclXXTupArgXXStmtLRXXStandaloneKindSig XXSpliceDeclXXSpliceXXSig XXRuleDecls XXRuleDecl XXRuleBndrXXRoleAnnotDeclXXPragE XXPatSynBindXXPatXXParStmtBlock XXOverLit XXMatchGroupXXMatchXXLit XXLHsQTyVars XXInstDeclXXInjectivityAnn XXImportDeclXXIPBindXXIEXXHsWildCardBndrs XXHsSigTypeXXHsPatSigTypeXXHsOuterTyVarBndrsXXHsLocalBindsLR XXHsIPBinds XXHsGroupXXHsForAllTelescopeXXHsFieldLabelXXHsDerivingClauseXXHsDecl XXHsDataDefn XXHsBindsLRXXGRHSsXXGRHSXXFunDep XXForeignDecl XXFixitySig XXFieldOccXXFamilyResultSig XXFamilyDeclXXFamEqnXXExpr XXDerivDeclXXDerivClauseTys XXDefaultDeclXXConDeclField XXConDeclXXCmdTopXXCmd XXClsInstDecl XXBracketXXApplicativeArg XXAnnDeclXXAmbiguousFieldOcc XXABExportXWildPat XWildCardTy XWarnings XWarningDXWarningXViewPat XViaStrategyXVarPatXVarBrXVarBindXVarXValD XValBinds XUserTyVarXUntypedSplice XUnboundVar XUnambiguous XTypedSpliceXTypeSigXTypBr XTyVarSigXTyVarXTyLit XTyFamInstDXTyClDXTupleTy XTuplePat XTransStmtXTick XTcBracketOutXTExpBrXSynDeclXSumTyXSumPatXStockStrategyXStaticXStarTyXSpliced XSpliceTy XSplicePatXSpliceEXSpliceDXSpecSig XSpecInstSigXSigPatXSigD XSectionR XSectionL XSCCFunSigXSCCXRuleD XRuleBndrSig XRoleAnnotD XRnBracketOut XRecordUpd XRecordConXRecTyXRecStmtXRecFldXRec XQuasiQuoteXQualTy XProjectionXProcXPresentXPragE XPatSynSigXPatBrXPatBindXParTyXParStmtXParPatXParXPSB XOverLitE XOverLabelXOpTyXOpAppXNoSigXNewtypeStrategyXNegApp XNPlusKPatXNPatXMultiIfXMissing XMinimalSigXMGXLitPatXLitEXListTyXListPatXLetStmtXLetXLazyPat XLastStmtXLamCaseXLam XKindedTyVar XKindSigDXKindSigXInstD XInlineSigXIfXIdSig XIParamTyXIPVarXIPBindsXIEVar XIEThingWith XIEThingAll XIEThingAbsXIEModuleContentsXIEGroup XIEDocNamedXIEDoc XHsWordPrim XHsWord64PrimXHsWC XHsValBinds XHsStringPrim XHsStringXHsSigXHsRule XHsRecFieldXHsRatXHsQTvsXHsPSXHsOuterImplicitXHsOuterExplicit XHsInteger XHsIntPrim XHsInt64PrimXHsInt XHsForAllVisXHsForAllInvis XHsFloatPrim XHsDoublePrim XHsCharPrimXHsChar XHsAnnotation XGetFieldXFunTyXFunBindXForeignImportXForeignExportXForD XForAllTyXFixSigXFamDeclXExprWithTySigXExplicitTupleTyXExplicitTuple XExplicitSumXExplicitListTy XExplicitListXExpBrXEmptyLocalBindsXDocTyXDocDXDoXDerivDXDefDXDecBrLXDecBrG XDctSingle XDctMulti XDataFamInstD XDataDeclXConPat XConLikeOut XConDeclH98 XConDeclGADTXCompleteMatchSigXCoPatXCmdWrapXCmdParXCmdLet XCmdLamCaseXCmdLamXCmdIfXCmdDoXCmdCase XCmdArrForm XCmdArrAppXCmdApp XClsInstD XClassOpSig XClassDeclXCaseXCTyFamInstDecl XCTyClGroup XCRuleDecls XCRuleBndrXCRoleAnnotDeclXCMatch XCKindSigXCInjectivityAnn XCImportDeclXCIPBind XCHsGroupXCHsFieldLabelXCHsDerivingClause XCHsDataDefnXCGRHSsXCGRHSXCFunDep XCFieldOcc XCFamilyDeclXCFamEqn XCDerivDecl XCDefaultDecl XCClsInstDecl XBodyStmt XBindStmtXBinTickXBangTyXBangPatXAsPat XArithSeqXApplicativeStmtXApplicativeArgOneXApplicativeArgMany XAppTypeEXAppTy XAppKindTyXAppXAnyClassStrategyXAnnD XAmbiguous XAbsBindsXABEWrapXRecwrapXRecUnXRecunXRecNoGhcTc NoExtFieldNoExtConMapXRecmapXRecLIdPIdPAnno noExtFieldnoExtConGHC.Core.DataConSrcUnpackedness SrcUnpack NoSrcUnpack SrcNoUnpack SrcStrictness SrcStrict NoSrcStrictSrcLazy HsSrcBang HsImplBangHsUnpackHsLazyHsStrict GHC.Hs.Doc LHsDocString HsDocStringExtractedTHDocsethd_mod_headerethd_inst_docsethd_decl_docs ethd_arg_docs DeclDocMap ArgDocMap unpackHDS ppr_mbDocmkHsDocStringUtf8ByteString mkHsDocStringisEmptyDocStringhsDocStringToByteStringemptyDeclDocMapemptyArgDocMap concatDocs appendDocsGHC.Parser.Annotation TrailingAnn AddVbarAnn AddSemiAnn AddRarrowAnnU AddRarrowAnn AddCommaAnn AddLollyAnnU SrcSpanAnnP SrcSpanAnnN SrcSpanAnnL SrcSpanAnnC SrcSpanAnnA SrcSpanAnn'locA SrcSpanAnnannSrcAnn ParenTypeAnnParensSquare AnnParens AnnParensHashNoEpAnnsNameAnn nann_trailing nann_quoted nann_quote nann_open nann_name nann_commas nann_closenann_adornmentNameAnnTrailing NameAnnRArrow NameAnnQuote NameAnnOnly NameAnnCommas NameAdornment NameSquareNameParensHashNameBackquotes NameParensLocatedPLocatedNLocatedLLocatedC LocatedAnLocatedA LEpaCommentIsUnicodeSyntax NormalSyntax UnicodeSyntaxHasENoE EpaLocationEpaDeltaEpaSpan EpaCommentTokEpaLineComment EpaEofComment EpaDocSection EpaDocOptionsEpaDocCommentPrevEpaDocCommentNextEpaBlockCommentEpaDocCommentNamed EpaCommentac_tok ac_prior_tok EpAnnComments priorCommentsfollowingComments EpaCommentsEpaCommentsBalancedEpAnnCOEpAnnentrycommentsanns EpAnnNotUsedDeltaPos deltaLine deltaColumn DifferentLineSameLine AnnSortKey NoAnnSortKey AnnPragmaapr_restapr_open apr_closeAnnParenap_openap_close ap_adornment AnnListItem lann_trailingAnnList al_trailingal_restal_openal_close al_anchor AnnKeywordIdAnnrarrowtailUAnnlarrowtailUAnnVia AnnValStrAnnUnit AnnThTyQuoteAnnSimpleQuote AnnSignatureAnnSafeAnnRarrowtailU AnnRarrowU AnnQualified AnnPercentOne AnnPercentAnnPackageNameAnnOpenS AnnOpenPH AnnOpenEQUAnnOpenC AnnOpenBUAnnNameAnnMdo AnnLollyUAnnLarrowtailU AnnLarrowU AnnHiding AnnForallUAnnDollarDollar AnnDollar AnnDcolonU AnnDarrowU AnnCommaTuple AnnCloseS AnnCloseQU AnnClosePH AnnCloseC AnnCloseBUAnnClassAnnAs AnnAnyclassAnnInfix AnnLarrow AnnPatternAnnFunIdAnnRole AnnExport AnnImport AnnForeign AnnFamily AnnNewtypeAnnStock AnnDeriving AnnDefault AnnInstanceAnnData AnnForall AnnDarrow AnnModuleAnnBangAnnRecAnnUsingAnnGroupAnnByAnnColonAnnMinus AnnStatic AnnClosePAnnOpenPAnnProcAnnDot AnnCloseQ AnnOpenEQAnnOpenEAnnAt AnnDcolon AnnDotdotAnnInAnnLetAnnLamAnnElseAnnThenAnnIfAnnDoAnnOfAnnCase AnnCloseBAnnOpenB AnnRarrowtail AnnLarrowtail Annrarrowtail AnnlarrowtailAnnSemi AnnRarrowAnnWhereAnnEqualAnnVbarAnnTilde AnnBackquoteAnnTypeAnnCommaAnnCloseAnnValAnnOpen AnnHeader AnnContextac_open ac_darrowac_closeAnchorOperation MovedAnchorUnchangedAnchorAnchor anchor_opanchorAddEpAnn widenSpanwidenLocatedAn widenAnchorR widenAnchor unicodeAnn transferAnnsA spanAsAnchor sortLocatedAsetPriorCommentssetFollowingCommentssetCommentsSrcAnnsetCommentsEpAnnremoveCommentsA realSrcSpanrealSpanAsAnchorreLocNreLocLreLocCreLocAreLocreAnnLreAnnCreAnnplaceholderRealSpan parenTypeKws noSrcSpanAnoLocA noComments noAnnSrcSpannoAnnna2lan2lmapLocAla2rla2nala2lal2nl2l getLocAnngetLocAgetFollowingComments getDeltaLineextraToAnnListepaLocationRealSrcSpanepaLocationFromSrcAnn epAnnComments epAnnAnnsL epAnnAnns emptyCommentsdeltaPos commentsOnlyAcommentcombineSrcSpansA combineLocsAannParen2AddEpAnnaddTrailingCommaToNaddTrailingAnnToLaddTrailingAnnToAaddCommentsToSrcAnnaddCommentsToEpAnn addCLocAAaddCLocAaddAnnsAaddAnnsGHC.Core.TyCo.RepMultGHC.Types.BasicSpliceExplicitFlagExplicitSpliceImplicitSpliceGHC.Types.FixityFixity PluginEnvModule WithoutExt WithoutLocmkNonDetFastString realSrcLochsLTyVarBndrToType mkAppType mkTypeAnnmkFunTy newFunBind compat_m_patsqualifiedImplicitImportdropRnTraceFlags freeTyVars isLHsForAllTyLexemelinecollexeme whitespacelexer unlexerFileItemparensunparensRecordisQuasiQuotationeditAddPreamble parseRecords getSelectors getAppRHS getAppLHSgetOpRHSgetRecisDotadjacent adjacentBy