haskell-tools-ast 0.1.3.0 → 0.2.0.0
raw patch · 23 files changed
+261/−123 lines, 23 filessetup-changedPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Language.Haskell.Tools.AST.Ann: Ann :: NodeInfo (SemanticInfo dom elem) (SpanInfo stage) -> elem dom stage -> Ann elem dom stage
+ Language.Haskell.Tools.AST.Ann: AnnList :: NodeInfo (SemanticInfo dom (AnnList elem)) (ListInfo stage) -> [Ann elem dom stage] -> AnnList elem dom stage
+ Language.Haskell.Tools.AST.Ann: AnnMaybe :: NodeInfo (SemanticInfo dom (AnnMaybe elem)) (OptionalInfo stage) -> Maybe (Ann elem dom stage) -> AnnMaybe elem dom stage
+ Language.Haskell.Tools.AST.Ann: SemaTrf :: (SemanticInfo' dom1 SameInfoNameCls -> f (SemanticInfo' dom2 SameInfoNameCls)) -> (SemanticInfo' dom1 SameInfoExprCls -> f (SemanticInfo' dom2 SameInfoExprCls)) -> (SemanticInfo' dom1 SameInfoImportCls -> f (SemanticInfo' dom2 SameInfoImportCls)) -> (SemanticInfo' dom1 SameInfoModuleCls -> f (SemanticInfo' dom2 SameInfoModuleCls)) -> (SemanticInfo' dom1 SameInfoWildcardCls -> f (SemanticInfo' dom2 SameInfoWildcardCls)) -> (SemanticInfo' dom1 SameInfoDefaultCls -> f (SemanticInfo' dom2 SameInfoDefaultCls)) -> SemaTrf f dom1 dom2
+ Language.Haskell.Tools.AST.Ann: SourceInfoTrf :: (SpanInfo st1 -> f (SpanInfo st2)) -> (ListInfo st1 -> f (ListInfo st2)) -> (OptionalInfo st1 -> f (OptionalInfo st2)) -> SourceInfoTrf f st1 st2
+ Language.Haskell.Tools.AST.Ann: [_annListAnnot] :: AnnList elem dom stage -> NodeInfo (SemanticInfo dom (AnnList elem)) (ListInfo stage)
+ Language.Haskell.Tools.AST.Ann: [_annListElems] :: AnnList elem dom stage -> [Ann elem dom stage]
+ Language.Haskell.Tools.AST.Ann: [_annMaybeAnnot] :: AnnMaybe elem dom stage -> NodeInfo (SemanticInfo dom (AnnMaybe elem)) (OptionalInfo stage)
+ Language.Haskell.Tools.AST.Ann: [_annMaybe] :: AnnMaybe elem dom stage -> Maybe (Ann elem dom stage)
+ Language.Haskell.Tools.AST.Ann: [_annotation] :: Ann elem dom stage -> NodeInfo (SemanticInfo dom elem) (SpanInfo stage)
+ Language.Haskell.Tools.AST.Ann: [_element] :: Ann elem dom stage -> elem dom stage
+ Language.Haskell.Tools.AST.Ann: [trfListInfo] :: SourceInfoTrf f st1 st2 -> ListInfo st1 -> f (ListInfo st2)
+ Language.Haskell.Tools.AST.Ann: [trfOptionalInfo] :: SourceInfoTrf f st1 st2 -> OptionalInfo st1 -> f (OptionalInfo st2)
+ Language.Haskell.Tools.AST.Ann: [trfSemaDefault] :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 SameInfoDefaultCls -> f (SemanticInfo' dom2 SameInfoDefaultCls)
+ Language.Haskell.Tools.AST.Ann: [trfSemaExprCls] :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 SameInfoExprCls -> f (SemanticInfo' dom2 SameInfoExprCls)
+ Language.Haskell.Tools.AST.Ann: [trfSemaImportCls] :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 SameInfoImportCls -> f (SemanticInfo' dom2 SameInfoImportCls)
+ Language.Haskell.Tools.AST.Ann: [trfSemaModuleCls] :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 SameInfoModuleCls -> f (SemanticInfo' dom2 SameInfoModuleCls)
+ Language.Haskell.Tools.AST.Ann: [trfSemaNameCls] :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 SameInfoNameCls -> f (SemanticInfo' dom2 SameInfoNameCls)
+ Language.Haskell.Tools.AST.Ann: [trfSemaWildcardCls] :: SemaTrf f dom1 dom2 -> SemanticInfo' dom1 SameInfoWildcardCls -> f (SemanticInfo' dom2 SameInfoWildcardCls)
+ Language.Haskell.Tools.AST.Ann: [trfSpanInfo] :: SourceInfoTrf f st1 st2 -> SpanInfo st1 -> f (SpanInfo st2)
+ Language.Haskell.Tools.AST.Ann: annJust :: Partial (AnnMaybe e d s) (AnnMaybe e d s) (Ann e d s) (Ann e d s)
+ Language.Haskell.Tools.AST.Ann: annLength :: AnnList e d s -> Int
+ Language.Haskell.Tools.AST.Ann: annList :: Traversal (AnnList e d s) (AnnList e d s) (Ann e d s) (Ann e d s)
+ Language.Haskell.Tools.AST.Ann: annListAnnot :: forall elem_ay7L dom_ay7M stage_ay7N. Lens (AnnList elem_ay7L dom_ay7M stage_ay7N) (AnnList elem_ay7L dom_ay7M stage_ay7N) (NodeInfo (SemanticInfo dom_ay7M (AnnList elem_ay7L)) (ListInfo stage_ay7N)) (NodeInfo (SemanticInfo dom_ay7M (AnnList elem_ay7L)) (ListInfo stage_ay7N))
+ Language.Haskell.Tools.AST.Ann: annListElems :: forall elem_ay7L dom_ay7M stage_ay7N. Lens (AnnList elem_ay7L dom_ay7M stage_ay7N) (AnnList elem_ay7L dom_ay7M stage_ay7N) [Ann elem_ay7L dom_ay7M stage_ay7N] [Ann elem_ay7L dom_ay7M stage_ay7N]
+ Language.Haskell.Tools.AST.Ann: annMaybe :: forall elem_ayap dom_ayaq stage_ayar. Lens (AnnMaybe elem_ayap dom_ayaq stage_ayar) (AnnMaybe elem_ayap dom_ayaq stage_ayar) (Maybe (Ann elem_ayap dom_ayaq stage_ayar)) (Maybe (Ann elem_ayap dom_ayaq stage_ayar))
+ Language.Haskell.Tools.AST.Ann: annMaybeAnnot :: forall elem_ayap dom_ayaq stage_ayar. Lens (AnnMaybe elem_ayap dom_ayaq stage_ayar) (AnnMaybe elem_ayap dom_ayaq stage_ayar) (NodeInfo (SemanticInfo dom_ayaq (AnnMaybe elem_ayap)) (OptionalInfo stage_ayar)) (NodeInfo (SemanticInfo dom_ayaq (AnnMaybe elem_ayap)) (OptionalInfo stage_ayar))
+ Language.Haskell.Tools.AST.Ann: annNil :: NodeInfo (SemanticInfo d (AnnList e)) (ListInfo s) -> AnnList e d s
+ Language.Haskell.Tools.AST.Ann: annNothing :: NodeInfo (SemanticInfo d (AnnMaybe e)) (OptionalInfo s) -> AnnMaybe e d s
+ Language.Haskell.Tools.AST.Ann: annotation :: forall elem_axyt dom_axyu stage_axyv. Lens (Ann elem_axyt dom_axyu stage_axyv) (Ann elem_axyt dom_axyu stage_axyv) (NodeInfo (SemanticInfo dom_axyu elem_axyt) (SpanInfo stage_axyv)) (NodeInfo (SemanticInfo dom_axyu elem_axyt) (SpanInfo stage_axyv))
+ Language.Haskell.Tools.AST.Ann: appSemaChange :: ApplySemaChange cls => SemaTrf f dom1 dom2 -> SemanticInfo' dom1 cls -> f (SemanticInfo' dom2 cls)
+ Language.Haskell.Tools.AST.Ann: class ApplySemaChange cls
+ Language.Haskell.Tools.AST.Ann: class (Typeable d, Data d, SemanticInfo' d SameInfoDefaultCls ~ NoSemanticInfo, Data (SemanticInfo' d SameInfoNameCls), Data (SemanticInfo' d SameInfoExprCls), Data (SemanticInfo' d SameInfoImportCls), Data (SemanticInfo' d SameInfoModuleCls), Data (SemanticInfo' d SameInfoWildcardCls), Show (SemanticInfo' d SameInfoNameCls), Show (SemanticInfo' d SameInfoExprCls), Show (SemanticInfo' d SameInfoImportCls), Show (SemanticInfo' d SameInfoModuleCls), Show (SemanticInfo' d SameInfoWildcardCls)) => Domain d
+ Language.Haskell.Tools.AST.Ann: class (Data (SemanticInfo' d (SemaInfoClassify e)), Show (SemanticInfo' d (SemaInfoClassify e)), Domain d) => DomainWith e d
+ Language.Haskell.Tools.AST.Ann: class HasRange a
+ Language.Haskell.Tools.AST.Ann: class SourceInfo stage => RangeInfo stage
+ Language.Haskell.Tools.AST.Ann: class ApplySemaChange (SemaInfoClassify a) => SemanticTraversal a
+ Language.Haskell.Tools.AST.Ann: class (Typeable stage, Data stage, Data (SpanInfo stage), Data (ListInfo stage), Data (OptionalInfo stage), Show (SpanInfo stage), Show (ListInfo stage), Show (OptionalInfo stage), HasRange (SpanInfo stage), HasRange (ListInfo stage), HasRange (OptionalInfo stage)) => SourceInfo stage where data SpanInfo stage :: * data ListInfo stage :: * data OptionalInfo stage :: * where {
+ Language.Haskell.Tools.AST.Ann: class SourceInfoTraversal a
+ Language.Haskell.Tools.AST.Ann: data Ann elem dom stage
+ Language.Haskell.Tools.AST.Ann: data AnnList elem dom stage
+ Language.Haskell.Tools.AST.Ann: data AnnMaybe elem dom stage
+ Language.Haskell.Tools.AST.Ann: data Dom name
+ Language.Haskell.Tools.AST.Ann: data IdDom
+ Language.Haskell.Tools.AST.Ann: data NormRangeStage
+ Language.Haskell.Tools.AST.Ann: data RangeStage
+ Language.Haskell.Tools.AST.Ann: data RngTemplateStage
+ Language.Haskell.Tools.AST.Ann: data SameInfoDefaultCls
+ Language.Haskell.Tools.AST.Ann: data SameInfoExprCls
+ Language.Haskell.Tools.AST.Ann: data SameInfoImportCls
+ Language.Haskell.Tools.AST.Ann: data SameInfoModuleCls
+ Language.Haskell.Tools.AST.Ann: data SameInfoNameCls
+ Language.Haskell.Tools.AST.Ann: data SameInfoWildcardCls
+ Language.Haskell.Tools.AST.Ann: data SemaTrf f dom1 dom2
+ Language.Haskell.Tools.AST.Ann: data SourceInfoTrf f st1 st2
+ Language.Haskell.Tools.AST.Ann: data SrcTemplateStage
+ Language.Haskell.Tools.AST.Ann: data family OptionalInfo stage :: *;
+ Language.Haskell.Tools.AST.Ann: element :: forall elem_axyt dom_axyu stage_axyv. Lens (Ann elem_axyt dom_axyu stage_axyv) (Ann elem_axyt dom_axyu stage_axyv) (elem_axyt dom_axyu stage_axyv) (elem_axyt dom_axyu stage_axyv)
+ Language.Haskell.Tools.AST.Ann: getRange :: HasRange a => a -> SrcSpan
+ Language.Haskell.Tools.AST.Ann: instance (Data.Data.Data (Language.Haskell.Tools.AST.Ann.SemanticInfo' d (Language.Haskell.Tools.AST.Ann.SemaInfoClassify e)), GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SemanticInfo' d (Language.Haskell.Tools.AST.Ann.SemaInfoClassify e)), Language.Haskell.Tools.AST.Ann.Domain d) => Language.Haskell.Tools.AST.Ann.DomainWith e d
+ Language.Haskell.Tools.AST.Ann: instance (Data.Data.Data name, Data.Typeable.Internal.Typeable name) => Data.Data.Data (Language.Haskell.Tools.AST.Ann.Dom name)
+ Language.Haskell.Tools.AST.Ann: instance (Data.Typeable.Internal.Typeable d, Data.Data.Data d, Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoDefaultCls ~ Language.Haskell.Tools.AST.SemaInfoTypes.NoSemanticInfo, Data.Data.Data (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoNameCls), Data.Data.Data (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoExprCls), Data.Data.Data (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoImportCls), Data.Data.Data (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoModuleCls), Data.Data.Data (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoWildcardCls), GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoNameCls), GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoExprCls), GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoImportCls), GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoModuleCls), GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SemanticInfo' d Language.Haskell.Tools.AST.Ann.SameInfoWildcardCls)) => Language.Haskell.Tools.AST.Ann.Domain d
+ Language.Haskell.Tools.AST.Ann: instance (Language.Haskell.Tools.AST.Ann.ApplySemaChange (Language.Haskell.Tools.AST.Ann.SemaInfoClassify e), Language.Haskell.Tools.AST.Ann.SemanticTraversal e) => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Ann.Ann e)
+ Language.Haskell.Tools.AST.Ann: instance (Language.Haskell.Tools.AST.Ann.ApplySemaChange (Language.Haskell.Tools.AST.Ann.SemaInfoClassify e), Language.Haskell.Tools.AST.Ann.SemanticTraversal e) => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Ann.AnnList e)
+ Language.Haskell.Tools.AST.Ann: instance (Language.Haskell.Tools.AST.Ann.ApplySemaChange (Language.Haskell.Tools.AST.Ann.SemaInfoClassify e), Language.Haskell.Tools.AST.Ann.SemanticTraversal e) => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Ann.AnnMaybe e)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data (Language.Haskell.Tools.AST.Ann.ListInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data (Language.Haskell.Tools.AST.Ann.ListInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data (Language.Haskell.Tools.AST.Ann.OptionalInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data (Language.Haskell.Tools.AST.Ann.OptionalInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data (Language.Haskell.Tools.AST.Ann.SpanInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data (Language.Haskell.Tools.AST.Ann.SpanInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data Language.Haskell.Tools.AST.Ann.IdDom
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data Language.Haskell.Tools.AST.Ann.NormRangeStage
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data Language.Haskell.Tools.AST.Ann.RangeStage
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data Language.Haskell.Tools.AST.Ann.RngTemplateStage
+ Language.Haskell.Tools.AST.Ann: instance Data.Data.Data Language.Haskell.Tools.AST.Ann.SrcTemplateStage
+ Language.Haskell.Tools.AST.Ann: instance GHC.Show.Show (Language.Haskell.Tools.AST.Ann.ListInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance GHC.Show.Show (Language.Haskell.Tools.AST.Ann.ListInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance GHC.Show.Show (Language.Haskell.Tools.AST.Ann.OptionalInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance GHC.Show.Show (Language.Haskell.Tools.AST.Ann.OptionalInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SpanInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance GHC.Show.Show (Language.Haskell.Tools.AST.Ann.SpanInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.ApplySemaChange Language.Haskell.Tools.AST.Ann.SameInfoDefaultCls
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.ApplySemaChange Language.Haskell.Tools.AST.Ann.SameInfoExprCls
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.ApplySemaChange Language.Haskell.Tools.AST.Ann.SameInfoImportCls
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.ApplySemaChange Language.Haskell.Tools.AST.Ann.SameInfoModuleCls
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.ApplySemaChange Language.Haskell.Tools.AST.Ann.SameInfoNameCls
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.ApplySemaChange Language.Haskell.Tools.AST.Ann.SameInfoWildcardCls
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.ListInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.ListInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.OptionalInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.OptionalInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.SpanInfo Language.Haskell.Tools.AST.Ann.NormRangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.SpanInfo Language.Haskell.Tools.AST.Ann.RangeStage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.RangeInfo Language.Haskell.Tools.AST.Ann.RangeStage
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfo Language.Haskell.Tools.AST.Ann.NormRangeStage
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfo Language.Haskell.Tools.AST.Ann.RangeStage
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfo stage => Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.Ann elem dom stage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfo stage => Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.AnnList elem dom stage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfo stage => Language.Haskell.Tools.AST.Ann.HasRange (Language.Haskell.Tools.AST.Ann.AnnMaybe elem dom stage)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal e => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Ann.Ann e)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal e => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Ann.AnnList e)
+ Language.Haskell.Tools.AST.Ann: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal e => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Ann.AnnMaybe e)
+ Language.Haskell.Tools.AST.Ann: isAnnJust :: AnnMaybe e d s -> Bool
+ Language.Haskell.Tools.AST.Ann: isAnnNothing :: AnnMaybe e d s -> Bool
+ Language.Haskell.Tools.AST.Ann: listPos :: RangeInfo stage => Simple Lens (ListInfo stage) SrcLoc
+ Language.Haskell.Tools.AST.Ann: nodeSpan :: RangeInfo stage => Simple Lens (SpanInfo stage) SrcSpan
+ Language.Haskell.Tools.AST.Ann: optionalPos :: RangeInfo stage => Simple Lens (OptionalInfo stage) SrcLoc
+ Language.Haskell.Tools.AST.Ann: semaTraverse :: (SemanticTraversal a, Monad f) => SemaTrf f dom1 dom2 -> a dom1 st -> f (a dom2 st)
+ Language.Haskell.Tools.AST.Ann: setRange :: HasRange a => SrcSpan -> a -> a
+ Language.Haskell.Tools.AST.Ann: shortShowLoc :: SrcLoc -> String
+ Language.Haskell.Tools.AST.Ann: shortShowSpan :: SrcSpan -> String
+ Language.Haskell.Tools.AST.Ann: sourceInfoTraverse :: (SourceInfoTraversal a, Monad f) => SourceInfoTrf f st1 st2 -> a dom st1 -> f (a dom st2)
+ Language.Haskell.Tools.AST.Ann: sourceInfoTraverseDown :: (SourceInfoTraversal a, Monad f) => SourceInfoTrf f st1 st2 -> f () -> f () -> a dom st1 -> f (a dom st2)
+ Language.Haskell.Tools.AST.Ann: sourceInfoTraverseUp :: (SourceInfoTraversal a, Monad f) => SourceInfoTrf f st1 st2 -> f () -> f () -> a dom st1 -> f (a dom st2)
+ Language.Haskell.Tools.AST.Ann: type SemanticInfo (domain :: *) (node :: * -> * -> *) = SemanticInfo' domain (SemaInfoClassify node)
+ Language.Haskell.Tools.AST.Ann: }
+ Language.Haskell.Tools.AST.Base: AssocLeft :: Assoc dom stage
+ Language.Haskell.Tools.AST.Base: AssocNone :: Assoc dom stage
+ Language.Haskell.Tools.AST.Base: AssocRight :: Assoc dom stage
+ Language.Haskell.Tools.AST.Base: BacktickOp :: Ann QualifiedName dom stage -> Operator dom stage
+ Language.Haskell.Tools.AST.Base: CApi :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: CCall :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: CPlusPlus :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: ConlikeAnnot :: ConlikeAnnot dom stage
+ Language.Haskell.Tools.AST.Base: DataKeyword :: DataOrNewtypeKeyword dom stage
+ Language.Haskell.Tools.AST.Base: DisableOverlap :: OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: DoKeyword :: DoKind dom stage
+ Language.Haskell.Tools.AST.Base: DotNet :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: EnableOverlap :: OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: ImplicitName :: Ann QualifiedName dom stage -> Name dom stage
+ Language.Haskell.Tools.AST.Base: IncoherentOverlap :: OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: Interruptible :: Safety dom stage
+ Language.Haskell.Tools.AST.Base: JavaScript :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: Js :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: Jvm :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: LeftAppl :: ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Base: LeftHighApp :: ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Base: LineNumber :: Int -> LineNumber dom stage
+ Language.Haskell.Tools.AST.Base: MDoKeyword :: DoKind dom stage
+ Language.Haskell.Tools.AST.Base: ModuleName :: String -> ModuleName dom stage
+ Language.Haskell.Tools.AST.Base: NewtypeKeyword :: DataOrNewtypeKeyword dom stage
+ Language.Haskell.Tools.AST.Base: Nominal :: Role dom stage
+ Language.Haskell.Tools.AST.Base: NormalName :: Ann QualifiedName dom stage -> Name dom stage
+ Language.Haskell.Tools.AST.Base: NormalOp :: Ann QualifiedName dom stage -> Operator dom stage
+ Language.Haskell.Tools.AST.Base: Overlappable :: OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: Overlapping :: OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: Overlaps :: OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: ParenName :: Ann QualifiedName dom stage -> Name dom stage
+ Language.Haskell.Tools.AST.Base: Phantom :: Role dom stage
+ Language.Haskell.Tools.AST.Base: PhaseControl :: AnnMaybe PhaseInvert dom stage -> Ann PhaseNumber dom stage -> PhaseControl dom stage
+ Language.Haskell.Tools.AST.Base: PhaseInvert :: PhaseInvert dom stage
+ Language.Haskell.Tools.AST.Base: PhaseNumber :: Integer -> PhaseNumber dom stage
+ Language.Haskell.Tools.AST.Base: Precedence :: Int -> Precedence dom stage
+ Language.Haskell.Tools.AST.Base: QualifiedName :: AnnList UnqualName dom stage -> Ann UnqualName dom stage -> QualifiedName dom stage
+ Language.Haskell.Tools.AST.Base: Representational :: Role dom stage
+ Language.Haskell.Tools.AST.Base: RightAppl :: ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Base: RightHighApp :: ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Base: Safe :: Safety dom stage
+ Language.Haskell.Tools.AST.Base: StdCall :: CallConv dom stage
+ Language.Haskell.Tools.AST.Base: StringNode :: String -> StringNode dom stage
+ Language.Haskell.Tools.AST.Base: ThreadSafe :: Safety dom stage
+ Language.Haskell.Tools.AST.Base: TypeKeyword :: TypeKeyword dom stage
+ Language.Haskell.Tools.AST.Base: UnqualName :: String -> UnqualName dom stage
+ Language.Haskell.Tools.AST.Base: Unsafe :: Safety dom stage
+ Language.Haskell.Tools.AST.Base: [_lineNumber] :: LineNumber dom stage -> Int
+ Language.Haskell.Tools.AST.Base: [_moduleNameString] :: ModuleName dom stage -> String
+ Language.Haskell.Tools.AST.Base: [_operatorName] :: Operator dom stage -> Ann QualifiedName dom stage
+ Language.Haskell.Tools.AST.Base: [_phaseNum] :: PhaseNumber dom stage -> Integer
+ Language.Haskell.Tools.AST.Base: [_phaseNumber] :: PhaseControl dom stage -> Ann PhaseNumber dom stage
+ Language.Haskell.Tools.AST.Base: [_phaseUntil] :: PhaseControl dom stage -> AnnMaybe PhaseInvert dom stage
+ Language.Haskell.Tools.AST.Base: [_precedenceValue] :: Precedence dom stage -> Int
+ Language.Haskell.Tools.AST.Base: [_qualifiers] :: QualifiedName dom stage -> AnnList UnqualName dom stage
+ Language.Haskell.Tools.AST.Base: [_simpleNameStr] :: UnqualName dom stage -> String
+ Language.Haskell.Tools.AST.Base: [_simpleName] :: Name dom stage -> Ann QualifiedName dom stage
+ Language.Haskell.Tools.AST.Base: [_stringNodeStr] :: StringNode dom stage -> String
+ Language.Haskell.Tools.AST.Base: [_unqualifiedName] :: QualifiedName dom stage -> Ann UnqualName dom stage
+ Language.Haskell.Tools.AST.Base: data ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Base: data Assoc dom stage
+ Language.Haskell.Tools.AST.Base: data CallConv dom stage
+ Language.Haskell.Tools.AST.Base: data ConlikeAnnot dom stage
+ Language.Haskell.Tools.AST.Base: data DataOrNewtypeKeyword dom stage
+ Language.Haskell.Tools.AST.Base: data DoKind dom stage
+ Language.Haskell.Tools.AST.Base: data LineNumber dom stage
+ Language.Haskell.Tools.AST.Base: data ModuleName dom stage
+ Language.Haskell.Tools.AST.Base: data Name dom stage
+ Language.Haskell.Tools.AST.Base: data Operator dom stage
+ Language.Haskell.Tools.AST.Base: data OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Base: data PhaseControl dom stage
+ Language.Haskell.Tools.AST.Base: data PhaseInvert dom stage
+ Language.Haskell.Tools.AST.Base: data PhaseNumber dom stage
+ Language.Haskell.Tools.AST.Base: data Precedence dom stage
+ Language.Haskell.Tools.AST.Base: data QualifiedName dom stage
+ Language.Haskell.Tools.AST.Base: data Role dom stage
+ Language.Haskell.Tools.AST.Base: data Safety dom stage
+ Language.Haskell.Tools.AST.Base: data StringNode dom stage
+ Language.Haskell.Tools.AST.Base: data TypeKeyword dom stage
+ Language.Haskell.Tools.AST.Base: data UnqualName dom stage
+ Language.Haskell.Tools.AST.Base: nameFromList :: AnnList UnqualName dom stage -> QualifiedName dom stage
+ Language.Haskell.Tools.AST.Binds: AnnPragma :: Ann AnnotationSubject dom stage -> Ann Expr dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: DeprPragma :: AnnList Name dom stage -> Ann StringNode dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: FixitySignature :: Ann Assoc dom stage -> Ann Precedence dom stage -> AnnList Operator dom stage -> FixitySignature dom stage
+ Language.Haskell.Tools.AST.Binds: FunBind :: AnnList Match dom stage -> ValueBind dom stage
+ Language.Haskell.Tools.AST.Binds: GuardBind :: Ann Pattern dom stage -> Ann Expr dom stage -> RhsGuard dom stage
+ Language.Haskell.Tools.AST.Binds: GuardCheck :: Ann Expr dom stage -> RhsGuard dom stage
+ Language.Haskell.Tools.AST.Binds: GuardLet :: AnnList LocalBind dom stage -> RhsGuard dom stage
+ Language.Haskell.Tools.AST.Binds: GuardedRhs :: AnnList RhsGuard dom stage -> Ann Expr dom stage -> GuardedRhs dom stage
+ Language.Haskell.Tools.AST.Binds: GuardedRhss :: AnnList GuardedRhs dom stage -> Rhs dom stage
+ Language.Haskell.Tools.AST.Binds: InfixLhs :: Ann Pattern dom stage -> Ann Operator dom stage -> Ann Pattern dom stage -> AnnList Pattern dom stage -> MatchLhs dom stage
+ Language.Haskell.Tools.AST.Binds: InlinablePragma :: AnnMaybe PhaseControl dom stage -> Ann Name dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: InlinePragma :: AnnMaybe ConlikeAnnot dom stage -> AnnMaybe PhaseControl dom stage -> Ann Name dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: LinePragma :: Ann LineNumber dom stage -> AnnMaybe StringNode dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: LocalBinds :: AnnList LocalBind dom stage -> LocalBinds dom stage
+ Language.Haskell.Tools.AST.Binds: LocalFixity :: Ann FixitySignature dom stage -> LocalBind dom stage
+ Language.Haskell.Tools.AST.Binds: LocalSignature :: Ann TypeSignature dom stage -> LocalBind dom stage
+ Language.Haskell.Tools.AST.Binds: LocalValBind :: Ann ValueBind dom stage -> LocalBind dom stage
+ Language.Haskell.Tools.AST.Binds: Match :: Ann MatchLhs dom stage -> Ann Rhs dom stage -> AnnMaybe LocalBinds dom stage -> Match dom stage
+ Language.Haskell.Tools.AST.Binds: MinimalAnd :: AnnList MinimalFormula dom stage -> MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: MinimalName :: Ann Name dom stage -> MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: MinimalOr :: AnnList MinimalFormula dom stage -> MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: MinimalParen :: Ann MinimalFormula dom stage -> MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: ModuleAnnotation :: AnnotationSubject dom stage
+ Language.Haskell.Tools.AST.Binds: NameAnnotation :: Ann Name dom stage -> AnnotationSubject dom stage
+ Language.Haskell.Tools.AST.Binds: NoInlinePragma :: AnnMaybe ConlikeAnnot dom stage -> AnnMaybe PhaseControl dom stage -> Ann Name dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: NormalLhs :: Ann Name dom stage -> AnnList Pattern dom stage -> MatchLhs dom stage
+ Language.Haskell.Tools.AST.Binds: Rule :: Ann StringNode dom stage -> AnnMaybe PhaseControl dom stage -> AnnList TyVar dom stage -> Ann Expr dom stage -> Ann Expr dom stage -> Rule dom stage
+ Language.Haskell.Tools.AST.Binds: RulePragma :: AnnList Rule dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: SimpleBind :: Ann Pattern dom stage -> Ann Rhs dom stage -> AnnMaybe LocalBinds dom stage -> ValueBind dom stage
+ Language.Haskell.Tools.AST.Binds: SpecializePragma :: AnnMaybe PhaseControl dom stage -> Ann Name dom stage -> AnnList Type dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: TypeAnnotation :: Ann Name dom stage -> AnnotationSubject dom stage
+ Language.Haskell.Tools.AST.Binds: TypeSignature :: AnnList Name dom stage -> Ann Type dom stage -> TypeSignature dom stage
+ Language.Haskell.Tools.AST.Binds: UnguardedRhs :: Ann Expr dom stage -> Rhs dom stage
+ Language.Haskell.Tools.AST.Binds: WarningPragma :: AnnList Name dom stage -> Ann StringNode dom stage -> TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: [_annotateExpr] :: TopLevelPragma dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_annotateName] :: AnnotationSubject dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_annotationSubject] :: TopLevelPragma dom stage -> Ann AnnotationSubject dom stage
+ Language.Haskell.Tools.AST.Binds: [_fixityAssoc] :: FixitySignature dom stage -> Ann Assoc dom stage
+ Language.Haskell.Tools.AST.Binds: [_fixityOperators] :: FixitySignature dom stage -> AnnList Operator dom stage
+ Language.Haskell.Tools.AST.Binds: [_fixityPrecedence] :: FixitySignature dom stage -> Ann Precedence dom stage
+ Language.Haskell.Tools.AST.Binds: [_funBindMatches] :: ValueBind dom stage -> AnnList Match dom stage
+ Language.Haskell.Tools.AST.Binds: [_guardBinds] :: RhsGuard dom stage -> AnnList LocalBind dom stage
+ Language.Haskell.Tools.AST.Binds: [_guardCheck] :: RhsGuard dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_guardExpr] :: GuardedRhs dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_guardPat] :: RhsGuard dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Binds: [_guardRhs] :: RhsGuard dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_guardStmts] :: GuardedRhs dom stage -> AnnList RhsGuard dom stage
+ Language.Haskell.Tools.AST.Binds: [_inlinableDef] :: TopLevelPragma dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_inlineDef] :: TopLevelPragma dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_localBinds] :: LocalBinds dom stage -> AnnList LocalBind dom stage
+ Language.Haskell.Tools.AST.Binds: [_localFixity] :: LocalBind dom stage -> Ann FixitySignature dom stage
+ Language.Haskell.Tools.AST.Binds: [_localSig] :: LocalBind dom stage -> Ann TypeSignature dom stage
+ Language.Haskell.Tools.AST.Binds: [_localVal] :: LocalBind dom stage -> Ann ValueBind dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchBinds] :: Match dom stage -> AnnMaybe LocalBinds dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchLhsArgs] :: MatchLhs dom stage -> AnnList Pattern dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchLhsLhs] :: MatchLhs dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchLhsName] :: MatchLhs dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchLhsOperator] :: MatchLhs dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchLhsRhs] :: MatchLhs dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchLhs] :: Match dom stage -> Ann MatchLhs dom stage
+ Language.Haskell.Tools.AST.Binds: [_matchRhs] :: Match dom stage -> Ann Rhs dom stage
+ Language.Haskell.Tools.AST.Binds: [_minimalAnds] :: MinimalFormula dom stage -> AnnList MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: [_minimalInner] :: MinimalFormula dom stage -> Ann MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: [_minimalName] :: MinimalFormula dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_minimalOrs] :: MinimalFormula dom stage -> AnnList MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: [_noInlineDef] :: TopLevelPragma dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaConlike] :: TopLevelPragma dom stage -> AnnMaybe ConlikeAnnot dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaFileName] :: TopLevelPragma dom stage -> AnnMaybe StringNode dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaLineNum] :: TopLevelPragma dom stage -> Ann LineNumber dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaMessage] :: TopLevelPragma dom stage -> Ann StringNode dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaObjects] :: TopLevelPragma dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaPhase] :: TopLevelPragma dom stage -> AnnMaybe PhaseControl dom stage
+ Language.Haskell.Tools.AST.Binds: [_pragmaRule] :: TopLevelPragma dom stage -> AnnList Rule dom stage
+ Language.Haskell.Tools.AST.Binds: [_rhsExpr] :: Rhs dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_rhsGuards] :: Rhs dom stage -> AnnList GuardedRhs dom stage
+ Language.Haskell.Tools.AST.Binds: [_ruleBounded] :: Rule dom stage -> AnnList TyVar dom stage
+ Language.Haskell.Tools.AST.Binds: [_ruleLhs] :: Rule dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_ruleName] :: Rule dom stage -> Ann StringNode dom stage
+ Language.Haskell.Tools.AST.Binds: [_rulePhase] :: Rule dom stage -> AnnMaybe PhaseControl dom stage
+ Language.Haskell.Tools.AST.Binds: [_ruleRhs] :: Rule dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Binds: [_specializeDef] :: TopLevelPragma dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_specializeType] :: TopLevelPragma dom stage -> AnnList Type dom stage
+ Language.Haskell.Tools.AST.Binds: [_tsName] :: TypeSignature dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Binds: [_tsType] :: TypeSignature dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Binds: [_valBindLocals] :: ValueBind dom stage -> AnnMaybe LocalBinds dom stage
+ Language.Haskell.Tools.AST.Binds: [_valBindPat] :: ValueBind dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Binds: [_valBindRhs] :: ValueBind dom stage -> Ann Rhs dom stage
+ Language.Haskell.Tools.AST.Binds: data AnnotationSubject dom stage
+ Language.Haskell.Tools.AST.Binds: data FixitySignature dom stage
+ Language.Haskell.Tools.AST.Binds: data GuardedRhs dom stage
+ Language.Haskell.Tools.AST.Binds: data LocalBind dom stage
+ Language.Haskell.Tools.AST.Binds: data LocalBinds dom stage
+ Language.Haskell.Tools.AST.Binds: data Match dom stage
+ Language.Haskell.Tools.AST.Binds: data MatchLhs dom stage
+ Language.Haskell.Tools.AST.Binds: data MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Binds: data Rhs dom stage
+ Language.Haskell.Tools.AST.Binds: data RhsGuard dom stage
+ Language.Haskell.Tools.AST.Binds: data Rule dom stage
+ Language.Haskell.Tools.AST.Binds: data TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Binds: data TypeSignature dom stage
+ Language.Haskell.Tools.AST.Binds: data ValueBind dom stage
+ Language.Haskell.Tools.AST.Decls: BidirectionalPatSyn :: Ann Pattern dom stage -> AnnMaybe PatSynWhere dom stage -> PatSynRhs dom stage
+ Language.Haskell.Tools.AST.Decls: ClassBody :: AnnList ClassElement dom stage -> ClassBody dom stage
+ Language.Haskell.Tools.AST.Decls: ClassDecl :: AnnMaybe Context dom stage -> Ann DeclHead dom stage -> AnnMaybe FunDeps dom stage -> AnnMaybe ClassBody dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: ClosedTypeFamilyDecl :: Ann DeclHead dom stage -> AnnMaybe KindConstraint dom stage -> AnnList TypeEqn dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: ClsDef :: Ann ValueBind dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ClsDefSig :: Ann Name dom stage -> Ann Type dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ClsMinimal :: Ann MinimalFormula dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ClsPatSig :: Ann PatternTypeSignature dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ClsSig :: Ann TypeSignature dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ClsTypeDef :: Ann DeclHead dom stage -> Ann Type dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ClsTypeFam :: Ann TypeFamily dom stage -> ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: ConDecl :: Ann Name dom stage -> AnnList Type dom stage -> ConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: DHApp :: Ann DeclHead dom stage -> Ann TyVar dom stage -> DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: DHInfix :: Ann TyVar dom stage -> Ann Operator dom stage -> Ann TyVar dom stage -> DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: DHParen :: Ann DeclHead dom stage -> DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: DataDecl :: Ann DataOrNewtypeKeyword dom stage -> AnnMaybe Context dom stage -> Ann DeclHead dom stage -> AnnList ConDecl dom stage -> AnnMaybe Deriving dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: DataFamily :: Ann DeclHead dom stage -> AnnMaybe KindConstraint dom stage -> TypeFamily dom stage
+ Language.Haskell.Tools.AST.Decls: DataInstDecl :: Ann DataOrNewtypeKeyword dom stage -> Ann InstanceRule dom stage -> AnnList ConDecl dom stage -> AnnMaybe Deriving dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: DeclHead :: Ann Name dom stage -> DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: DefaultDecl :: AnnList Type dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: DerivDecl :: AnnMaybe OverlapPragma dom stage -> Ann InstanceRule dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: DerivingOne :: Ann InstanceHead dom stage -> Deriving dom stage
+ Language.Haskell.Tools.AST.Decls: Derivings :: AnnList InstanceHead dom stage -> Deriving dom stage
+ Language.Haskell.Tools.AST.Decls: FieldDecl :: AnnList Name dom stage -> Ann Type dom stage -> FieldDecl dom stage
+ Language.Haskell.Tools.AST.Decls: FixityDecl :: Ann FixitySignature dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: ForeignExport :: Ann CallConv dom stage -> Ann Name dom stage -> Ann Type dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: ForeignImport :: Ann CallConv dom stage -> AnnMaybe Safety dom stage -> Ann Name dom stage -> Ann Type dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: FunDep :: AnnList Name dom stage -> AnnList Name dom stage -> FunDep dom stage
+ Language.Haskell.Tools.AST.Decls: FunDeps :: AnnList FunDep dom stage -> FunDeps dom stage
+ Language.Haskell.Tools.AST.Decls: GDataDecl :: Ann DataOrNewtypeKeyword dom stage -> AnnMaybe Context dom stage -> Ann DeclHead dom stage -> AnnMaybe KindConstraint dom stage -> AnnList GadtConDecl dom stage -> AnnMaybe Deriving dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: GDataInstDecl :: Ann DataOrNewtypeKeyword dom stage -> Ann InstanceRule dom stage -> AnnMaybe KindConstraint dom stage -> AnnList GadtConDecl dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: GadtConDecl :: AnnList Name dom stage -> Ann GadtConType dom stage -> GadtConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: GadtNormalType :: Ann Type dom stage -> GadtConType dom stage
+ Language.Haskell.Tools.AST.Decls: GadtRecordType :: AnnList FieldDecl dom stage -> Ann Type dom stage -> GadtConType dom stage
+ Language.Haskell.Tools.AST.Decls: InfixConDecl :: Ann Type dom stage -> Ann Operator dom stage -> Ann Type dom stage -> ConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InfixPatSyn :: Ann Name dom stage -> Ann Operator dom stage -> Ann Name dom stage -> PatSynLhs dom stage
+ Language.Haskell.Tools.AST.Decls: InjectivityAnn :: Ann Name dom stage -> AnnList Name dom stage -> InjectivityAnn dom stage
+ Language.Haskell.Tools.AST.Decls: InstBody :: AnnList InstBodyDecl dom stage -> InstBody dom stage
+ Language.Haskell.Tools.AST.Decls: InstBodyDataDecl :: Ann DataOrNewtypeKeyword dom stage -> Ann InstanceRule dom stage -> AnnList ConDecl dom stage -> AnnMaybe Deriving dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InstBodyGadtDataDecl :: Ann DataOrNewtypeKeyword dom stage -> Ann InstanceRule dom stage -> AnnMaybe KindConstraint dom stage -> AnnList GadtConDecl dom stage -> AnnMaybe Deriving dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InstBodyNormalDecl :: Ann ValueBind dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InstBodyPatSyn :: Ann PatternSynonym dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InstBodyTypeDecl :: Ann TypeEqn dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InstBodyTypeSig :: Ann TypeSignature dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: InstDecl :: AnnMaybe OverlapPragma dom stage -> Ann InstanceRule dom stage -> AnnMaybe InstBody dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: InstanceHeadApp :: Ann InstanceHead dom stage -> Ann Type dom stage -> InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: InstanceHeadCon :: Ann Name dom stage -> InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: InstanceHeadInfix :: Ann Type dom stage -> Ann Name dom stage -> InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: InstanceHeadParen :: Ann InstanceHead dom stage -> InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: InstanceParen :: Ann InstanceRule dom stage -> InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: InstanceRule :: AnnMaybe (AnnList TyVar) dom stage -> AnnMaybe Context dom stage -> Ann InstanceHead dom stage -> InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: NormalPatSyn :: Ann Name dom stage -> AnnList Name dom stage -> PatSynLhs dom stage
+ Language.Haskell.Tools.AST.Decls: OneDirectionalPatSyn :: Ann Pattern dom stage -> PatSynRhs dom stage
+ Language.Haskell.Tools.AST.Decls: PatSynWhere :: AnnList Match dom stage -> PatSynWhere dom stage
+ Language.Haskell.Tools.AST.Decls: PatTypeSigDecl :: Ann PatternTypeSignature dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: PatternSynonym :: Ann PatSynLhs dom stage -> Ann PatSynRhs dom stage -> PatternSynonym dom stage
+ Language.Haskell.Tools.AST.Decls: PatternSynonymDecl :: Ann PatternSynonym dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: PatternTypeSignature :: Ann Name dom stage -> Ann Type dom stage -> PatternTypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: PragmaDecl :: Ann TopLevelPragma dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: RecordDecl :: Ann Name dom stage -> AnnList FieldDecl dom stage -> ConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: RecordPatSyn :: Ann Name dom stage -> AnnList Name dom stage -> PatSynLhs dom stage
+ Language.Haskell.Tools.AST.Decls: RoleDecl :: Ann QualifiedName dom stage -> AnnList Role dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: SpecializeInstance :: Ann Type dom stage -> InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: SpliceDecl :: Ann Splice dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: TypeDecl :: Ann DeclHead dom stage -> Ann Type dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: TypeEqn :: Ann Type dom stage -> Ann Type dom stage -> TypeEqn dom stage
+ Language.Haskell.Tools.AST.Decls: TypeFamily :: Ann DeclHead dom stage -> AnnMaybe TypeFamilySpec dom stage -> TypeFamily dom stage
+ Language.Haskell.Tools.AST.Decls: TypeFamilyDecl :: Ann TypeFamily dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: TypeFamilyInjectivity :: Ann InjectivityAnn dom stage -> TypeFamilySpec dom stage
+ Language.Haskell.Tools.AST.Decls: TypeFamilyKind :: Ann KindConstraint dom stage -> TypeFamilySpec dom stage
+ Language.Haskell.Tools.AST.Decls: TypeInstDecl :: Ann InstanceRule dom stage -> Ann Type dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: TypeSigDecl :: Ann TypeSignature dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: ValueBinding :: Ann ValueBind dom stage -> Decl dom stage
+ Language.Haskell.Tools.AST.Decls: [_allDerived] :: Deriving dom stage -> AnnList InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_cbElements] :: ClassBody dom stage -> AnnList ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceBind] :: ClassElement dom stage -> Ann ValueBind dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceHead] :: ClassElement dom stage -> Ann DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceKind] :: ClassElement dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceName] :: ClassElement dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_cePatSig] :: ClassElement dom stage -> Ann PatternTypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceTypeFam] :: ClassElement dom stage -> Ann TypeFamily dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceTypeSig] :: ClassElement dom stage -> Ann TypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: [_ceType] :: ClassElement dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_conDeclArgs] :: ConDecl dom stage -> AnnList Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_conDeclFields] :: ConDecl dom stage -> AnnList FieldDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_conDeclLhs] :: ConDecl dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_conDeclName] :: ConDecl dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_conDeclOp] :: ConDecl dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Decls: [_conDeclRhs] :: ConDecl dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_declAssignedType] :: Decl dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_declBody] :: Decl dom stage -> AnnMaybe ClassBody dom stage
+ Language.Haskell.Tools.AST.Decls: [_declCallConv] :: Decl dom stage -> Ann CallConv dom stage
+ Language.Haskell.Tools.AST.Decls: [_declCons] :: Decl dom stage -> AnnList ConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_declCtx] :: Decl dom stage -> AnnMaybe Context dom stage
+ Language.Haskell.Tools.AST.Decls: [_declDecl] :: Decl dom stage -> AnnList TypeEqn dom stage
+ Language.Haskell.Tools.AST.Decls: [_declDeriving] :: Decl dom stage -> AnnMaybe Deriving dom stage
+ Language.Haskell.Tools.AST.Decls: [_declFixity] :: Decl dom stage -> Ann FixitySignature dom stage
+ Language.Haskell.Tools.AST.Decls: [_declFunDeps] :: Decl dom stage -> AnnMaybe FunDeps dom stage
+ Language.Haskell.Tools.AST.Decls: [_declGadt] :: Decl dom stage -> AnnList GadtConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_declHead] :: Decl dom stage -> Ann DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_declInstDecl] :: Decl dom stage -> AnnMaybe InstBody dom stage
+ Language.Haskell.Tools.AST.Decls: [_declInstRule] :: Decl dom stage -> Ann InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: [_declInstance] :: Decl dom stage -> Ann InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: [_declKind] :: Decl dom stage -> AnnMaybe KindConstraint dom stage
+ Language.Haskell.Tools.AST.Decls: [_declName] :: Decl dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_declNewtype] :: Decl dom stage -> Ann DataOrNewtypeKeyword dom stage
+ Language.Haskell.Tools.AST.Decls: [_declOverlap] :: Decl dom stage -> AnnMaybe OverlapPragma dom stage
+ Language.Haskell.Tools.AST.Decls: [_declPatSyn] :: Decl dom stage -> Ann PatternSynonym dom stage
+ Language.Haskell.Tools.AST.Decls: [_declPatTypeSig] :: Decl dom stage -> Ann PatternTypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: [_declPragma] :: Decl dom stage -> Ann TopLevelPragma dom stage
+ Language.Haskell.Tools.AST.Decls: [_declRoleType] :: Decl dom stage -> Ann QualifiedName dom stage
+ Language.Haskell.Tools.AST.Decls: [_declRoles] :: Decl dom stage -> AnnList Role dom stage
+ Language.Haskell.Tools.AST.Decls: [_declSafety] :: Decl dom stage -> AnnMaybe Safety dom stage
+ Language.Haskell.Tools.AST.Decls: [_declSplice] :: Decl dom stage -> Ann Splice dom stage
+ Language.Haskell.Tools.AST.Decls: [_declTypeFamily] :: Decl dom stage -> Ann TypeFamily dom stage
+ Language.Haskell.Tools.AST.Decls: [_declTypeSig] :: Decl dom stage -> Ann TypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: [_declType] :: Decl dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_declTypes] :: Decl dom stage -> AnnList Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_declValBind] :: Decl dom stage -> Ann ValueBind dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhAppFun] :: DeclHead dom stage -> Ann DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhAppOperand] :: DeclHead dom stage -> Ann TyVar dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhBody] :: DeclHead dom stage -> Ann DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhLeft] :: DeclHead dom stage -> Ann TyVar dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhName] :: DeclHead dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhOperator] :: DeclHead dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Decls: [_dhRight] :: DeclHead dom stage -> Ann TyVar dom stage
+ Language.Haskell.Tools.AST.Decls: [_fieldNames] :: FieldDecl dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_fieldType] :: FieldDecl dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_funDepLhs] :: FunDep dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_funDepRhs] :: FunDep dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_funDeps] :: FunDeps dom stage -> AnnList FunDep dom stage
+ Language.Haskell.Tools.AST.Decls: [_gadtConNames] :: GadtConDecl dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_gadtConNormalType] :: GadtConType dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_gadtConRecordFields] :: GadtConType dom stage -> AnnList FieldDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_gadtConResultType] :: GadtConType dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_gadtConType] :: GadtConDecl dom stage -> Ann GadtConType dom stage
+ Language.Haskell.Tools.AST.Decls: [_ihConName] :: InstanceHead dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_ihFun] :: InstanceHead dom stage -> Ann InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_ihHead] :: InstanceHead dom stage -> Ann InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_ihLeftOp] :: InstanceHead dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_ihOperator] :: InstanceHead dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_ihType] :: InstanceHead dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_injAnnDeps] :: InjectivityAnn dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_injAnnRes] :: InjectivityAnn dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyDataCons] :: InstBodyDecl dom stage -> AnnList ConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyDataKind] :: InstBodyDecl dom stage -> AnnMaybe KindConstraint dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyDataNew] :: InstBodyDecl dom stage -> Ann DataOrNewtypeKeyword dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyDeclFunbind] :: InstBodyDecl dom stage -> Ann ValueBind dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyDecls] :: InstBody dom stage -> AnnList InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyDerivings] :: InstBodyDecl dom stage -> AnnMaybe Deriving dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyGadtCons] :: InstBodyDecl dom stage -> AnnList GadtConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyLhsType] :: InstBodyDecl dom stage -> Ann InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyPatSyn] :: InstBodyDecl dom stage -> Ann PatternSynonym dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyTypeEqn] :: InstBodyDecl dom stage -> Ann TypeEqn dom stage
+ Language.Haskell.Tools.AST.Decls: [_instBodyTypeSig] :: InstBodyDecl dom stage -> Ann TypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: [_irCtx] :: InstanceRule dom stage -> AnnMaybe Context dom stage
+ Language.Haskell.Tools.AST.Decls: [_irHead] :: InstanceRule dom stage -> Ann InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_irRule] :: InstanceRule dom stage -> Ann InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: [_irVars] :: InstanceRule dom stage -> AnnMaybe (AnnList TyVar) dom stage
+ Language.Haskell.Tools.AST.Decls: [_oneDerived] :: Deriving dom stage -> Ann InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_patArgs] :: PatSynLhs dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_patLhs] :: PatternSynonym dom stage -> Ann PatSynLhs dom stage
+ Language.Haskell.Tools.AST.Decls: [_patName] :: PatSynLhs dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_patOpposite] :: PatSynWhere dom stage -> AnnList Match dom stage
+ Language.Haskell.Tools.AST.Decls: [_patRhsOpposite] :: PatSynRhs dom stage -> AnnMaybe PatSynWhere dom stage
+ Language.Haskell.Tools.AST.Decls: [_patRhsPat] :: PatSynRhs dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Decls: [_patRhs] :: PatternSynonym dom stage -> Ann PatSynRhs dom stage
+ Language.Haskell.Tools.AST.Decls: [_patSigName] :: PatternTypeSignature dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_patSigType] :: PatternTypeSignature dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_patSynLhs] :: PatSynLhs dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_patSynOp] :: PatSynLhs dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Decls: [_patSynRhs] :: PatSynLhs dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Decls: [_pragmaFormula] :: ClassElement dom stage -> Ann MinimalFormula dom stage
+ Language.Haskell.Tools.AST.Decls: [_specializeInstanceType] :: InstBodyDecl dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_teLhs] :: TypeEqn dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_teRhs] :: TypeEqn dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Decls: [_tfHead] :: TypeFamily dom stage -> Ann DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: [_tfInjectivity] :: TypeFamilySpec dom stage -> Ann InjectivityAnn dom stage
+ Language.Haskell.Tools.AST.Decls: [_tfKind] :: TypeFamily dom stage -> AnnMaybe KindConstraint dom stage
+ Language.Haskell.Tools.AST.Decls: [_tfSpecKind] :: TypeFamilySpec dom stage -> Ann KindConstraint dom stage
+ Language.Haskell.Tools.AST.Decls: [_tfSpec] :: TypeFamily dom stage -> AnnMaybe TypeFamilySpec dom stage
+ Language.Haskell.Tools.AST.Decls: data ClassBody dom stage
+ Language.Haskell.Tools.AST.Decls: data ClassElement dom stage
+ Language.Haskell.Tools.AST.Decls: data ConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: data Decl dom stage
+ Language.Haskell.Tools.AST.Decls: data DeclHead dom stage
+ Language.Haskell.Tools.AST.Decls: data Deriving dom stage
+ Language.Haskell.Tools.AST.Decls: data FieldDecl dom stage
+ Language.Haskell.Tools.AST.Decls: data FunDep dom stage
+ Language.Haskell.Tools.AST.Decls: data FunDeps dom stage
+ Language.Haskell.Tools.AST.Decls: data GadtConDecl dom stage
+ Language.Haskell.Tools.AST.Decls: data GadtConType dom stage
+ Language.Haskell.Tools.AST.Decls: data InjectivityAnn dom stage
+ Language.Haskell.Tools.AST.Decls: data InstBody dom stage
+ Language.Haskell.Tools.AST.Decls: data InstBodyDecl dom stage
+ Language.Haskell.Tools.AST.Decls: data InstanceHead dom stage
+ Language.Haskell.Tools.AST.Decls: data InstanceRule dom stage
+ Language.Haskell.Tools.AST.Decls: data PatSynLhs dom stage
+ Language.Haskell.Tools.AST.Decls: data PatSynRhs dom stage
+ Language.Haskell.Tools.AST.Decls: data PatSynWhere dom stage
+ Language.Haskell.Tools.AST.Decls: data PatternSynonym dom stage
+ Language.Haskell.Tools.AST.Decls: data PatternTypeSignature dom stage
+ Language.Haskell.Tools.AST.Decls: data TypeEqn dom stage
+ Language.Haskell.Tools.AST.Decls: data TypeFamily dom stage
+ Language.Haskell.Tools.AST.Decls: data TypeFamilySpec dom stage
+ Language.Haskell.Tools.AST.Exprs: Alt :: Ann Pattern dom stage -> Ann (CaseRhs' expr) dom stage -> AnnMaybe LocalBinds dom stage -> Alt' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: App :: Ann Expr dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: AppCmd :: Ann Cmd dom stage -> Ann Expr dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: ArrowApp :: Ann Expr dom stage -> Ann ArrowAppl dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ArrowAppCmd :: Ann Expr dom stage -> Ann ArrowAppl dom stage -> Ann Expr dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: ArrowFormCmd :: Ann Expr dom stage -> AnnList Cmd dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: BracketExpr :: Ann Bracket dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Case :: Ann Expr dom stage -> AnnList Alt dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: CaseCmd :: Ann Expr dom stage -> AnnList CmdAlt dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: CorePragma :: Ann StringNode dom stage -> ExprPragma dom stage
+ Language.Haskell.Tools.AST.Exprs: Do :: Ann DoKind dom stage -> AnnList Stmt dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: DoCmd :: AnnList (Stmt' Cmd) dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: Enum :: Ann Expr dom stage -> AnnMaybe Expr dom stage -> AnnMaybe Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ExplTypeApp :: Ann Expr dom stage -> Ann Type dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ExprPragma :: Ann ExprPragma dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: FieldPun :: Ann Name dom stage -> FieldUpdate dom stage
+ Language.Haskell.Tools.AST.Exprs: FieldWildcard :: Ann FieldWildcard dom stage -> FieldUpdate dom stage
+ Language.Haskell.Tools.AST.Exprs: FldWildcard :: FieldWildcard dom stage
+ Language.Haskell.Tools.AST.Exprs: GeneratedPragma :: Ann SourceRange dom stage -> ExprPragma dom stage
+ Language.Haskell.Tools.AST.Exprs: GuardedCaseRhs :: AnnList RhsGuard dom stage -> Ann expr dom stage -> GuardedCaseRhs' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: GuardedCaseRhss :: AnnList (GuardedCaseRhs' expr) dom stage -> CaseRhs' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: If :: Ann Expr dom stage -> Ann Expr dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: IfCmd :: Ann Expr dom stage -> Ann Cmd dom stage -> Ann Cmd dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: InfixApp :: Ann Expr dom stage -> Ann Operator dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: InfixCmd :: Ann Cmd dom stage -> Ann Name dom stage -> Ann Cmd dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: LamCase :: AnnList Alt dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Lambda :: AnnList Pattern dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: LambdaCmd :: AnnList Pattern dom stage -> Ann Cmd dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: LeftSection :: Ann Expr dom stage -> Ann Operator dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Let :: AnnList LocalBind dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: LetCmd :: AnnList LocalBind dom stage -> Ann Cmd dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: List :: AnnList Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ListComp :: Ann Expr dom stage -> AnnList ListCompBody dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Lit :: Ann Literal dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Missing :: TupSecElem dom stage
+ Language.Haskell.Tools.AST.Exprs: MultiIf :: AnnList GuardedCaseRhs dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: NormalFieldUpdate :: Ann Name dom stage -> Ann Expr dom stage -> FieldUpdate dom stage
+ Language.Haskell.Tools.AST.Exprs: Number :: Integer -> Number dom stage
+ Language.Haskell.Tools.AST.Exprs: ParArray :: AnnList Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ParArrayComp :: Ann Expr dom stage -> AnnList ListCompBody dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ParArrayEnum :: Ann Expr dom stage -> AnnMaybe Expr dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Paren :: Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: ParenCmd :: Ann Cmd dom stage -> Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: PrefixApp :: Ann Operator dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Present :: Ann Expr dom stage -> TupSecElem dom stage
+ Language.Haskell.Tools.AST.Exprs: Proc :: Ann Pattern dom stage -> Ann Cmd dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: QuasiQuoteExpr :: Ann QuasiQuote dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: RecCon :: Ann Name dom stage -> AnnList FieldUpdate dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: RecUpdate :: Ann Expr dom stage -> AnnList FieldUpdate dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: RightSection :: Ann Operator dom stage -> Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: SccPragma :: Ann StringNode dom stage -> ExprPragma dom stage
+ Language.Haskell.Tools.AST.Exprs: SourceRange :: Ann StringNode dom stage -> Ann Number dom stage -> Ann Number dom stage -> Ann Number dom stage -> Ann Number dom stage -> SourceRange dom stage
+ Language.Haskell.Tools.AST.Exprs: Splice :: Ann Splice dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: StaticPtr :: Ann Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Tuple :: AnnList Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: TupleSection :: AnnList TupSecElem dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: TypeQuote :: Ann Name dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: TypeSig :: Ann Expr dom stage -> Ann Type dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: UnboxedTupSec :: AnnList TupSecElem dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: UnboxedTuple :: AnnList Expr dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: UnguardedCaseRhs :: Ann expr dom stage -> CaseRhs' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: Var :: Ann Name dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: VarQuote :: Ann Name dom stage -> Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_altBinds] :: Alt' expr dom stage -> AnnMaybe LocalBinds dom stage
+ Language.Haskell.Tools.AST.Exprs: [_altPattern] :: Alt' expr dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Exprs: [_altRhs] :: Alt' expr dom stage -> Ann (CaseRhs' expr) dom stage
+ Language.Haskell.Tools.AST.Exprs: [_arrowAppl] :: Expr dom stage -> Ann ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Exprs: [_bracket] :: Expr dom stage -> Ann Bracket dom stage
+ Language.Haskell.Tools.AST.Exprs: [_caseGuardExpr] :: GuardedCaseRhs' expr dom stage -> Ann expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_caseGuardStmts] :: GuardedCaseRhs' expr dom stage -> AnnList RhsGuard dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdAlts] :: Cmd dom stage -> AnnList CmdAlt dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdApplied] :: Cmd dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdArrowOp] :: Cmd dom stage -> Ann ArrowAppl dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdBindings] :: Cmd dom stage -> AnnList Pattern dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdBinds] :: Cmd dom stage -> AnnList LocalBind dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdElse] :: Cmd dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdExpr] :: Cmd dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdInnerCmd] :: Cmd dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdInnerCmds] :: Cmd dom stage -> AnnList Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdInner] :: Cmd dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdLeftCmd] :: Cmd dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdLhs] :: Cmd dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdOperator] :: Cmd dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdRhs] :: Cmd dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdRightCmd] :: Cmd dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdStmts] :: Cmd dom stage -> AnnList (Stmt' Cmd) dom stage
+ Language.Haskell.Tools.AST.Exprs: [_cmdThen] :: Cmd dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_compBody] :: Expr dom stage -> AnnList ListCompBody dom stage
+ Language.Haskell.Tools.AST.Exprs: [_compExpr] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_doKind] :: Expr dom stage -> Ann DoKind dom stage
+ Language.Haskell.Tools.AST.Exprs: [_enumFrom] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_enumThen] :: Expr dom stage -> AnnMaybe Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_enumToFix] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_enumTo] :: Expr dom stage -> AnnMaybe Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprAlts] :: Expr dom stage -> AnnList Alt dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprArg] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprBindings] :: Expr dom stage -> AnnList Pattern dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprCase] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprCond] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprElse] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprFunBind] :: Expr dom stage -> AnnList LocalBind dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprFun] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprIfAlts] :: Expr dom stage -> AnnList GuardedCaseRhs dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprInner] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprLhs] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprLit] :: Expr dom stage -> Ann Literal dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprName] :: Expr dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprOperator] :: Expr dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprPragma] :: Expr dom stage -> Ann ExprPragma dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprQQ] :: Expr dom stage -> Ann QuasiQuote dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprRecFields] :: Expr dom stage -> AnnList FieldUpdate dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprRecName] :: Expr dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprRhs] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprSig] :: Expr dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprStmts] :: Expr dom stage -> AnnList Stmt dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprThen] :: Expr dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_exprType] :: Expr dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Exprs: [_fieldName] :: FieldUpdate dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Exprs: [_fieldUpdateName] :: FieldUpdate dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Exprs: [_fieldValue] :: FieldUpdate dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_fieldWildcard] :: FieldUpdate dom stage -> Ann FieldWildcard dom stage
+ Language.Haskell.Tools.AST.Exprs: [_innerExpr] :: Expr dom stage -> Ann Splice dom stage
+ Language.Haskell.Tools.AST.Exprs: [_listElems] :: Expr dom stage -> AnnList Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_numberInteger] :: Number dom stage -> Integer
+ Language.Haskell.Tools.AST.Exprs: [_pragmaSrcRange] :: ExprPragma dom stage -> Ann SourceRange dom stage
+ Language.Haskell.Tools.AST.Exprs: [_pragmaStr] :: ExprPragma dom stage -> Ann StringNode dom stage
+ Language.Haskell.Tools.AST.Exprs: [_procExpr] :: Expr dom stage -> Ann Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: [_procPattern] :: Expr dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Exprs: [_quotedName] :: Expr dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Exprs: [_rhsCaseExpr] :: CaseRhs' expr dom stage -> Ann expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_rhsCaseGuards] :: CaseRhs' expr dom stage -> AnnList (GuardedCaseRhs' expr) dom stage
+ Language.Haskell.Tools.AST.Exprs: [_srFileName] :: SourceRange dom stage -> Ann StringNode dom stage
+ Language.Haskell.Tools.AST.Exprs: [_srFromCol] :: SourceRange dom stage -> Ann Number dom stage
+ Language.Haskell.Tools.AST.Exprs: [_srFromLine] :: SourceRange dom stage -> Ann Number dom stage
+ Language.Haskell.Tools.AST.Exprs: [_srToCol] :: SourceRange dom stage -> Ann Number dom stage
+ Language.Haskell.Tools.AST.Exprs: [_srToLine] :: SourceRange dom stage -> Ann Number dom stage
+ Language.Haskell.Tools.AST.Exprs: [_tupSecExpr] :: TupSecElem dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_tupleElems] :: Expr dom stage -> AnnList Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: [_tupleSectionElems] :: Expr dom stage -> AnnList TupSecElem dom stage
+ Language.Haskell.Tools.AST.Exprs: data Alt' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: data CaseRhs' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: data Cmd dom stage
+ Language.Haskell.Tools.AST.Exprs: data Expr dom stage
+ Language.Haskell.Tools.AST.Exprs: data ExprPragma dom stage
+ Language.Haskell.Tools.AST.Exprs: data FieldUpdate dom stage
+ Language.Haskell.Tools.AST.Exprs: data FieldWildcard dom stage
+ Language.Haskell.Tools.AST.Exprs: data GuardedCaseRhs' expr dom stage
+ Language.Haskell.Tools.AST.Exprs: data Number dom stage
+ Language.Haskell.Tools.AST.Exprs: data SourceRange dom stage
+ Language.Haskell.Tools.AST.Exprs: data TupSecElem dom stage
+ Language.Haskell.Tools.AST.Exprs: type Alt = Alt' Expr
+ Language.Haskell.Tools.AST.Exprs: type CaseRhs = CaseRhs' Expr
+ Language.Haskell.Tools.AST.Exprs: type CmdAlt = Alt' Cmd
+ Language.Haskell.Tools.AST.Exprs: type CmdCaseRhs = CaseRhs' Cmd
+ Language.Haskell.Tools.AST.Exprs: type CmdGuardedCaseRhs = GuardedCaseRhs' Cmd
+ Language.Haskell.Tools.AST.Exprs: type GuardedCaseRhs = GuardedCaseRhs' Expr
+ Language.Haskell.Tools.AST.Helpers: bindName :: (BindingElem d, SemanticInfo dom QualifiedName ~ k) => Simple Traversal (d dom stage) k
+ Language.Haskell.Tools.AST.Helpers: bindingName :: (SemanticInfo dom QualifiedName ~ ni) => Simple Traversal (Ann ValueBind dom stage) ni
+ Language.Haskell.Tools.AST.Helpers: class BindingElem d
+ Language.Haskell.Tools.AST.Helpers: compareRangeLength :: SrcSpan -> SrcSpan -> Ordering
+ Language.Haskell.Tools.AST.Helpers: createBinding :: BindingElem d => Ann ValueBind dom stage -> d dom stage
+ Language.Haskell.Tools.AST.Helpers: createTypeSig :: BindingElem d => Ann TypeSignature dom stage -> d dom stage
+ Language.Haskell.Tools.AST.Helpers: declHeadNames :: Simple Traversal (Ann DeclHead dom stage) (Ann QualifiedName dom stage)
+ Language.Haskell.Tools.AST.Helpers: dhNames :: (SemanticInfo dom QualifiedName ~ k) => Simple Traversal (Ann DeclHead dom stage) k
+ Language.Haskell.Tools.AST.Helpers: getNode :: (Biplate (Ann node dom stage) (Ann inner dom stage), SourceInfo stage) => RealSrcSpan -> Ann node dom stage -> Ann inner dom stage
+ Language.Haskell.Tools.AST.Helpers: getNodeContaining :: (Biplate (Ann node dom stage) (Ann inner dom stage), SourceInfo stage, HasRange (Ann inner dom stage)) => RealSrcSpan -> Ann node dom stage -> Maybe (Ann inner dom stage)
+ Language.Haskell.Tools.AST.Helpers: getValBindInList :: (BindingElem d, SourceInfo stage) => RealSrcSpan -> AnnList d dom stage -> Maybe (Ann ValueBind dom stage)
+ Language.Haskell.Tools.AST.Helpers: hasRange :: SourceInfo stage => RealSrcSpan -> Ann inner dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: importExacts :: Simple Traversal (ImportDecl dom stage) (IESpec dom stage)
+ Language.Haskell.Tools.AST.Helpers: importHidings :: Simple Traversal (ImportDecl dom stage) (IESpec dom stage)
+ Language.Haskell.Tools.AST.Helpers: importIsExact :: ImportDecl dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: importIsHiding :: ImportDecl dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: importQualifiers :: ImportDecl dom stage -> [[String]]
+ Language.Haskell.Tools.AST.Helpers: instance Language.Haskell.Tools.AST.Helpers.BindingElem Language.Haskell.Tools.AST.Binds.LocalBind
+ Language.Haskell.Tools.AST.Helpers: instance Language.Haskell.Tools.AST.Helpers.BindingElem Language.Haskell.Tools.AST.Decls.Decl
+ Language.Haskell.Tools.AST.Helpers: isBinding :: BindingElem d => d dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: isContained :: HasRange (inner dom stage) => RealSrcSpan -> inner dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: isInside :: HasRange (inner dom stage) => RealSrcSpan -> inner dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: isTypeSig :: BindingElem d => d dom stage -> Bool
+ Language.Haskell.Tools.AST.Helpers: nameElements :: QualifiedName dom stage -> [String]
+ Language.Haskell.Tools.AST.Helpers: nameQualifier :: QualifiedName dom stage -> [String]
+ Language.Haskell.Tools.AST.Helpers: nameString :: QualifiedName dom stage -> String
+ Language.Haskell.Tools.AST.Helpers: nodesContained :: (HasRange (inner dom stage), Biplate (node dom stage) (inner dom stage), SourceInfo stage) => RealSrcSpan -> Simple Traversal (node dom stage) (inner dom stage)
+ Language.Haskell.Tools.AST.Helpers: nodesContaining :: (HasRange (inner dom stage), Biplate (node dom stage) (inner dom stage), SourceInfo stage) => RealSrcSpan -> Simple Traversal (node dom stage) (inner dom stage)
+ Language.Haskell.Tools.AST.Helpers: nodesWithRange :: (Biplate (Ann node dom stage) (Ann inner dom stage), SourceInfo stage) => RealSrcSpan -> Simple Traversal (Ann node dom stage) (Ann inner dom stage)
+ Language.Haskell.Tools.AST.Helpers: ordByOccurrence :: QualifiedName dom stage -> QualifiedName dom stage -> Ordering
+ Language.Haskell.Tools.AST.Helpers: semantics :: Simple Lens (Ann elem dom stage) (SemanticInfo dom elem)
+ Language.Haskell.Tools.AST.Helpers: sigBind :: BindingElem d => Simple Partial (d dom stage) (Ann TypeSignature dom stage)
+ Language.Haskell.Tools.AST.Helpers: typeParams :: Simple Traversal (Ann Type dom stage) (Ann Type dom stage)
+ Language.Haskell.Tools.AST.Helpers: valBind :: BindingElem d => Simple Partial (d dom stage) (Ann ValueBind dom stage)
+ Language.Haskell.Tools.AST.Helpers: valBindsInList :: BindingElem d => Simple Traversal (AnnList d dom stage) (Ann ValueBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.ArrowAppl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.Assoc dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.CallConv dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.ConlikeAnnot dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.DataOrNewtypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.DoKind dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.LineNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.ModuleName dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.Name dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.Operator dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.OverlapPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.PhaseControl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.PhaseInvert dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.PhaseNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.Precedence dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.QualifiedName dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.Role dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.Safety dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.StringNode dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.TypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Base.UnqualName dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.AnnotationSubject dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.FixitySignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.GuardedRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.LocalBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.LocalBinds dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.Match dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.MatchLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.MinimalFormula dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.Rhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.RhsGuard dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.Rule dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.TopLevelPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.TypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Binds.ValueBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.ClassBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.ClassElement dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.ConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.Decl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.DeclHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.Deriving dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.FieldDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.FunDep dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.FunDeps dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.GadtConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.GadtConType dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.InjectivityAnn dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.InstBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.InstBodyDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.InstanceHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.InstanceRule dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.PatSynLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.PatSynRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.PatSynWhere dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.PatternSynonym dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.PatternTypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.TypeEqn dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.TypeFamily dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Decls.TypeFamilySpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.Cmd dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.Expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.ExprPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.FieldUpdate dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.FieldWildcard dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.Number dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.SourceRange dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.TupSecElem dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Kinds.Kind dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Kinds.KindConstraint dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Literals.Literal dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ExportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ExportSpecList dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.FilePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.IESpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ImportDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ImportQualified dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ImportRenaming dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ImportSafe dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ImportSource dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ImportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.LanguageExtension dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.Module dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ModuleHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.ModulePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.SubSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Modules.TypeNamespace dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Patterns.Pattern dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Patterns.PatternField dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Stmts.CompStmt dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Stmts.ListCompBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.TH.Bracket dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.TH.QQString dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.TH.QuasiQuote dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.TH.Splice dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Types.Assertion dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Types.Context dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Types.TyVar dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => Data.Data.Data (Language.Haskell.Tools.AST.Types.Type dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith e dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable e, Data.Data.Data (e dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Ann.Ann e dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith e dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable e, Data.Data.Data (e dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Ann.AnnList e dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith e dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable e, Data.Data.Data (e dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Ann.AnnMaybe e dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith expr dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable expr, Data.Data.Data (expr dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.Alt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith expr dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable expr, Data.Data.Data (expr dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.CaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith expr dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable expr, Data.Data.Data (expr dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Exprs.GuardedCaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith expr dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable expr, Data.Data.Data (expr dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Stmts.Stmt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Data: instance (Language.Haskell.Tools.AST.Ann.DomainWith k dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, Data.Typeable.Internal.Typeable k, Data.Data.Data (k dom stage)) => Data.Data.Data (Language.Haskell.Tools.AST.Kinds.Promoted k dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.ArrowAppl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.Assoc dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.CallConv dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.ConlikeAnnot dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.DataOrNewtypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.DoKind dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.LineNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.ModuleName dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.Name dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.Operator dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.OverlapPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.PhaseControl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.PhaseInvert dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.PhaseNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.Precedence dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.QualifiedName dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.Role dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.Safety dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.StringNode dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.TypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Base.UnqualName dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.AnnotationSubject dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.FixitySignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.GuardedRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.LocalBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.LocalBinds dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.Match dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.MatchLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.MinimalFormula dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.Rhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.RhsGuard dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.Rule dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.TopLevelPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.TypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Binds.ValueBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.ClassBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.ClassElement dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.ConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.Decl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.DeclHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.Deriving dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.FieldDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.FunDep dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.FunDeps dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.GadtConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.GadtConType dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.InjectivityAnn dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.InstBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.InstBodyDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.InstanceHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.InstanceRule dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.PatSynLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.PatSynRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.PatSynWhere dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.PatternSynonym dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.PatternTypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.TypeEqn dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.TypeFamily dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Decls.TypeFamilySpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.Cmd dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.Expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.ExprPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.FieldUpdate dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.FieldWildcard dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.Number dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.SourceRange dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.TupSecElem dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Kinds.Kind dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Kinds.KindConstraint dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Literals.Literal dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ExportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ExportSpecList dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.FilePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.IESpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ImportDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ImportQualified dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ImportRenaming dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ImportSafe dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ImportSource dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ImportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.LanguageExtension dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.Module dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ModuleHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.ModulePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.SubSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Modules.TypeNamespace dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Patterns.Pattern dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Patterns.PatternField dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Stmts.CompStmt dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Stmts.ListCompBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.TH.Bracket dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.TH.QQString dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.TH.QuasiQuote dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.TH.Splice dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Types.Assertion dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Types.Context dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Types.TyVar dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (Language.Haskell.Tools.AST.Types.Type dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (e dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Ann.Ann e dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (e dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Ann.AnnList e dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (e dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Ann.AnnMaybe e dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (expr dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.Alt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (expr dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.CaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (expr dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Exprs.GuardedCaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (expr dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Stmts.Stmt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Eq: instance GHC.Classes.Eq (k dom stage) => GHC.Classes.Eq (Language.Haskell.Tools.AST.Kinds.Promoted k dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.ArrowAppl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.Assoc dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.CallConv dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.ConlikeAnnot dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.DataOrNewtypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.DoKind dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.LineNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.ModuleName dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.Name dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.Operator dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.OverlapPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.PhaseControl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.PhaseInvert dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.PhaseNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.Precedence dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.QualifiedName dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.Role dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.Safety dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.StringNode dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.TypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Base.UnqualName dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.AnnotationSubject dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.FixitySignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.GuardedRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.LocalBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.LocalBinds dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.Match dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.MatchLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.MinimalFormula dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.Rhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.RhsGuard dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.Rule dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.TopLevelPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.TypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Binds.ValueBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.ClassBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.ClassElement dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.ConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.Decl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.DeclHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.Deriving dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.FieldDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.FunDep dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.FunDeps dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.GadtConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.GadtConType dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.InjectivityAnn dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.InstBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.InstBodyDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.InstanceHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.InstanceRule dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.PatSynLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.PatSynRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.PatSynWhere dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.PatternSynonym dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.PatternTypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.TypeEqn dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.TypeFamily dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Decls.TypeFamilySpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.Cmd dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.Expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.ExprPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.FieldUpdate dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.FieldWildcard dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.Number dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.SourceRange dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.TupSecElem dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Kinds.Kind dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Kinds.KindConstraint dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Literals.Literal dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ExportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ExportSpecList dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.FilePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.IESpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ImportDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ImportQualified dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ImportRenaming dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ImportSafe dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ImportSource dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ImportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.LanguageExtension dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.Module dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ModuleHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.ModulePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.SubSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Modules.TypeNamespace dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Patterns.Pattern dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Patterns.PatternField dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Stmts.CompStmt dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Stmts.ListCompBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.TH.Bracket dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.TH.QQString dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.TH.QuasiQuote dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.TH.Splice dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Types.Assertion dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Types.Context dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Types.TyVar dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Types.Type dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (e dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Ann.Ann e dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (e dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Ann.AnnList e dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (e dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Ann.AnnMaybe e dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (expr dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.Alt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (expr dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.CaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (expr dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Exprs.GuardedCaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (expr dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Stmts.Stmt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Generic: instance (Language.Haskell.Tools.AST.Ann.Domain dom, Language.Haskell.Tools.AST.Ann.SourceInfo stage, GHC.Generics.Generic (k dom stage)) => GHC.Generics.Generic (Language.Haskell.Tools.AST.Kinds.Promoted k dom stage)
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.ArrowAppl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.Assoc
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.CallConv
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.ConlikeAnnot
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.DataOrNewtypeKeyword
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.DoKind
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.LineNumber
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.ModuleName
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.Name
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.Operator
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.OverlapPragma
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.PhaseControl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.PhaseInvert
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.PhaseNumber
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.Precedence
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.QualifiedName
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.Role
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.Safety
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.StringNode
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.TypeKeyword
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Base.UnqualName
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.AnnotationSubject
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.FixitySignature
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.GuardedRhs
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.LocalBind
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.LocalBinds
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.Match
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.MatchLhs
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.MinimalFormula
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.Rhs
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.RhsGuard
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.Rule
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.TopLevelPragma
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.TypeSignature
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Binds.ValueBind
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.ClassBody
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.ClassElement
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.ConDecl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.Decl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.DeclHead
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.Deriving
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.FieldDecl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.FunDep
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.FunDeps
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.GadtConDecl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.GadtConType
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.InjectivityAnn
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.InstBody
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.InstBodyDecl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.InstanceHead
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.InstanceRule
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.PatSynLhs
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.PatSynRhs
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.PatSynWhere
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.PatternSynonym
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.PatternTypeSignature
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.TypeEqn
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.TypeFamily
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Decls.TypeFamilySpec
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.Cmd
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.Expr
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.ExprPragma
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.FieldUpdate
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.FieldWildcard
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.Number
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.SourceRange
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Exprs.TupSecElem
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Kinds.Kind
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Kinds.KindConstraint
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Literals.Literal
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ExportSpec
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ExportSpecList
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.FilePragma
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.IESpec
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ImportDecl
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ImportQualified
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ImportRenaming
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ImportSafe
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ImportSource
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ImportSpec
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.LanguageExtension
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.Module
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ModuleHead
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.ModulePragma
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.SubSpec
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Modules.TypeNamespace
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Patterns.Pattern
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Patterns.PatternField
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Stmts.CompStmt
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Stmts.ListCompBody
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.TH.Bracket
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.TH.QQString
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.TH.QuasiQuote
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.TH.Splice
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Types.Assertion
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Types.Context
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Types.TyVar
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal Language.Haskell.Tools.AST.Types.Type
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal expr0 => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Exprs.Alt' expr0)
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal expr0 => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Exprs.CaseRhs' expr0)
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal expr0 => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Exprs.GuardedCaseRhs' expr0)
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal expr0 => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Stmts.Stmt' expr0)
+ Language.Haskell.Tools.AST.Instances.SemanticTraversal: instance Language.Haskell.Tools.AST.Ann.SemanticTraversal t0 => Language.Haskell.Tools.AST.Ann.SemanticTraversal (Language.Haskell.Tools.AST.Kinds.Promoted t0)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.ArrowAppl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.Assoc dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.CallConv dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.ConlikeAnnot dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.DataOrNewtypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.DoKind dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.LineNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.ModuleName dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.Name dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.Operator dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.OverlapPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.PhaseControl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.PhaseInvert dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.PhaseNumber dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.Precedence dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.QualifiedName dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.Role dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.Safety dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.StringNode dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.TypeKeyword dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Base.UnqualName dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.AnnotationSubject dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.FixitySignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.GuardedRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.LocalBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.LocalBinds dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.Match dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.MatchLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.MinimalFormula dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.Rhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.RhsGuard dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.Rule dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.TopLevelPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.TypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Binds.ValueBind dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.ClassBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.ClassElement dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.ConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.Decl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.DeclHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.Deriving dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.FieldDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.FunDep dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.FunDeps dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.GadtConDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.GadtConType dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.InjectivityAnn dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.InstBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.InstBodyDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.InstanceHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.InstanceRule dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.PatSynLhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.PatSynRhs dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.PatSynWhere dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.PatternSynonym dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.PatternTypeSignature dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.TypeEqn dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.TypeFamily dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Decls.TypeFamilySpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.Cmd dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.Expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.ExprPragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.FieldUpdate dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.FieldWildcard dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.Number dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.SourceRange dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.TupSecElem dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Kinds.Kind dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Kinds.KindConstraint dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Literals.Literal dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ExportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ExportSpecList dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.FilePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.IESpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ImportDecl dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ImportQualified dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ImportRenaming dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ImportSafe dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ImportSource dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ImportSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.LanguageExtension dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.Module dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ModuleHead dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.ModulePragma dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.SubSpec dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Modules.TypeNamespace dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Patterns.Pattern dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Patterns.PatternField dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Stmts.CompStmt dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Stmts.ListCompBody dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.TH.Bracket dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.TH.QQString dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.TH.QuasiQuote dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.TH.Splice dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Types.Assertion dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Types.Context dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Types.TyVar dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (Language.Haskell.Tools.AST.Types.Type dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (e dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Ann.Ann e dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (e dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Ann.AnnList e dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (e dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Ann.AnnMaybe e dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (expr dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.Alt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (expr dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.CaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (expr dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Exprs.GuardedCaseRhs' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (expr dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Stmts.Stmt' expr dom stage)
+ Language.Haskell.Tools.AST.Instances.Show: instance GHC.Show.Show (k dom stage) => GHC.Show.Show (Language.Haskell.Tools.AST.Kinds.Promoted k dom stage)
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.ArrowAppl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.Assoc
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.CallConv
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.ConlikeAnnot
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.DataOrNewtypeKeyword
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.DoKind
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.LineNumber
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.ModuleName
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.Name
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.Operator
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.OverlapPragma
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.PhaseControl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.PhaseInvert
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.PhaseNumber
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.Precedence
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.QualifiedName
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.Role
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.Safety
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.StringNode
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.TypeKeyword
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Base.UnqualName
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.AnnotationSubject
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.FixitySignature
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.GuardedRhs
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.LocalBind
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.LocalBinds
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.Match
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.MatchLhs
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.MinimalFormula
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.Rhs
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.RhsGuard
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.Rule
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.TopLevelPragma
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.TypeSignature
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Binds.ValueBind
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.ClassBody
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.ClassElement
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.ConDecl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.Decl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.DeclHead
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.Deriving
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.FieldDecl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.FunDep
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.FunDeps
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.GadtConDecl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.GadtConType
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.InjectivityAnn
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.InstBody
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.InstBodyDecl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.InstanceHead
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.InstanceRule
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.PatSynLhs
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.PatSynRhs
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.PatSynWhere
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.PatternSynonym
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.PatternTypeSignature
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.TypeEqn
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.TypeFamily
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Decls.TypeFamilySpec
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.Cmd
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.Expr
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.ExprPragma
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.FieldUpdate
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.FieldWildcard
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.Number
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.SourceRange
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Exprs.TupSecElem
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Kinds.Kind
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Kinds.KindConstraint
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Literals.Literal
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ExportSpec
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ExportSpecList
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.FilePragma
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.IESpec
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ImportDecl
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ImportQualified
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ImportRenaming
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ImportSafe
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ImportSource
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ImportSpec
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.LanguageExtension
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.Module
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ModuleHead
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.ModulePragma
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.SubSpec
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Modules.TypeNamespace
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Patterns.Pattern
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Patterns.PatternField
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Stmts.CompStmt
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Stmts.ListCompBody
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.TH.Bracket
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.TH.QQString
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.TH.QuasiQuote
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.TH.Splice
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Types.Assertion
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Types.Context
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Types.TyVar
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal Language.Haskell.Tools.AST.Types.Type
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal expr0 => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Exprs.Alt' expr0)
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal expr0 => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Exprs.CaseRhs' expr0)
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal expr0 => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Exprs.GuardedCaseRhs' expr0)
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal expr0 => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Stmts.Stmt' expr0)
+ Language.Haskell.Tools.AST.Instances.SourceInfoTraversal: instance Language.Haskell.Tools.AST.Ann.SourceInfoTraversal t0 => Language.Haskell.Tools.AST.Ann.SourceInfoTraversal (Language.Haskell.Tools.AST.Kinds.Promoted t0)
+ Language.Haskell.Tools.AST.Kinds: KindApp :: Ann Kind dom stage -> Ann Kind dom stage -> Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindConstraint :: Ann Kind dom stage -> KindConstraint dom stage
+ Language.Haskell.Tools.AST.Kinds: KindFn :: Ann Kind dom stage -> Ann Kind dom stage -> Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindList :: Ann Kind dom stage -> Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindParen :: Ann Kind dom stage -> Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindPromoted :: Ann (Promoted Kind) dom stage -> Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindStar :: Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindUnbox :: Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: KindVar :: Ann Name dom stage -> Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: PromotedCon :: Ann Name dom stage -> Promoted t dom stage
+ Language.Haskell.Tools.AST.Kinds: PromotedInt :: Integer -> Promoted t dom stage
+ Language.Haskell.Tools.AST.Kinds: PromotedList :: AnnList t dom stage -> Promoted t dom stage
+ Language.Haskell.Tools.AST.Kinds: PromotedString :: String -> Promoted t dom stage
+ Language.Haskell.Tools.AST.Kinds: PromotedTuple :: AnnList t dom stage -> Promoted t dom stage
+ Language.Haskell.Tools.AST.Kinds: PromotedUnit :: Promoted t dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindAppArg] :: Kind dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindAppFun] :: Kind dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindConstr] :: KindConstraint dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindElem] :: Kind dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindLeft] :: Kind dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindParen] :: Kind dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindPromoted] :: Kind dom stage -> Ann (Promoted Kind) dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindRight] :: Kind dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: [_kindVar] :: Kind dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Kinds: [_promotedConName] :: Promoted t dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Kinds: [_promotedElements] :: Promoted t dom stage -> AnnList t dom stage
+ Language.Haskell.Tools.AST.Kinds: [_promotedIntValue] :: Promoted t dom stage -> Integer
+ Language.Haskell.Tools.AST.Kinds: [_promotedStringValue] :: Promoted t dom stage -> String
+ Language.Haskell.Tools.AST.Kinds: data Kind dom stage
+ Language.Haskell.Tools.AST.Kinds: data KindConstraint dom stage
+ Language.Haskell.Tools.AST.Kinds: data Promoted t dom stage
+ Language.Haskell.Tools.AST.Literals: CharLit :: Char -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: FracLit :: Rational -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: IntLit :: Integer -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: PrimCharLit :: Char -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: PrimDoubleLit :: Rational -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: PrimFloatLit :: Rational -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: PrimIntLit :: Integer -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: PrimStringLit :: String -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: PrimWordLit :: Integer -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: StringLit :: String -> Literal dom stage
+ Language.Haskell.Tools.AST.Literals: [_charLitValue] :: Literal dom stage -> Char
+ Language.Haskell.Tools.AST.Literals: [_floatLitValue] :: Literal dom stage -> Rational
+ Language.Haskell.Tools.AST.Literals: [_fracLitValue] :: Literal dom stage -> Rational
+ Language.Haskell.Tools.AST.Literals: [_intLitValue] :: Literal dom stage -> Integer
+ Language.Haskell.Tools.AST.Literals: [_stringLitValue] :: Literal dom stage -> String
+ Language.Haskell.Tools.AST.Literals: data Literal dom stage
+ Language.Haskell.Tools.AST.Modules: DeclExport :: Ann IESpec dom stage -> ExportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: ExportSpecList :: AnnList ExportSpec dom stage -> ExportSpecList dom stage
+ Language.Haskell.Tools.AST.Modules: IESpec :: Ann Name dom stage -> AnnMaybe SubSpec dom stage -> IESpec dom stage
+ Language.Haskell.Tools.AST.Modules: ImportDecl :: AnnMaybe ImportSource dom stage -> AnnMaybe ImportQualified dom stage -> AnnMaybe ImportSafe dom stage -> AnnMaybe StringNode dom stage -> Ann ModuleName dom stage -> AnnMaybe ImportRenaming dom stage -> AnnMaybe ImportSpec dom stage -> ImportDecl dom stage
+ Language.Haskell.Tools.AST.Modules: ImportQualified :: ImportQualified dom stage
+ Language.Haskell.Tools.AST.Modules: ImportRenaming :: Ann ModuleName dom stage -> ImportRenaming dom stage
+ Language.Haskell.Tools.AST.Modules: ImportSafe :: ImportSafe dom stage
+ Language.Haskell.Tools.AST.Modules: ImportSource :: ImportSource dom stage
+ Language.Haskell.Tools.AST.Modules: ImportSpecHiding :: AnnList IESpec dom stage -> ImportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: ImportSpecList :: AnnList IESpec dom stage -> ImportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: LanguageExtension :: String -> LanguageExtension dom stage
+ Language.Haskell.Tools.AST.Modules: LanguagePragma :: AnnList LanguageExtension dom stage -> FilePragma dom stage
+ Language.Haskell.Tools.AST.Modules: Module :: AnnList FilePragma dom stage -> AnnMaybe ModuleHead dom stage -> AnnList ImportDecl dom stage -> AnnList Decl dom stage -> Module dom stage
+ Language.Haskell.Tools.AST.Modules: ModuleDeprecatedPragma :: AnnList StringNode dom stage -> ModulePragma dom stage
+ Language.Haskell.Tools.AST.Modules: ModuleExport :: Ann ModuleName dom stage -> ExportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: ModuleHead :: Ann ModuleName dom stage -> AnnMaybe ExportSpecList dom stage -> AnnMaybe ModulePragma dom stage -> ModuleHead dom stage
+ Language.Haskell.Tools.AST.Modules: ModuleWarningPragma :: AnnList StringNode dom stage -> ModulePragma dom stage
+ Language.Haskell.Tools.AST.Modules: OptionsPragma :: Ann StringNode dom stage -> FilePragma dom stage
+ Language.Haskell.Tools.AST.Modules: SubSpecAll :: SubSpec dom stage
+ Language.Haskell.Tools.AST.Modules: SubSpecList :: AnnList Name dom stage -> SubSpec dom stage
+ Language.Haskell.Tools.AST.Modules: TypeNamespace :: TypeNamespace dom stage
+ Language.Haskell.Tools.AST.Modules: [_espExports] :: ExportSpecList dom stage -> AnnList ExportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: [_essList] :: SubSpec dom stage -> AnnList Name dom stage
+ Language.Haskell.Tools.AST.Modules: [_exportDecl] :: ExportSpec dom stage -> Ann IESpec dom stage
+ Language.Haskell.Tools.AST.Modules: [_exportModuleName] :: ExportSpec dom stage -> Ann ModuleName dom stage
+ Language.Haskell.Tools.AST.Modules: [_filePragmas] :: Module dom stage -> AnnList FilePragma dom stage
+ Language.Haskell.Tools.AST.Modules: [_ieName] :: IESpec dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Modules: [_ieSubspec] :: IESpec dom stage -> AnnMaybe SubSpec dom stage
+ Language.Haskell.Tools.AST.Modules: [_importAs] :: ImportDecl dom stage -> AnnMaybe ImportRenaming dom stage
+ Language.Haskell.Tools.AST.Modules: [_importModule] :: ImportDecl dom stage -> Ann ModuleName dom stage
+ Language.Haskell.Tools.AST.Modules: [_importPkg] :: ImportDecl dom stage -> AnnMaybe StringNode dom stage
+ Language.Haskell.Tools.AST.Modules: [_importQualified] :: ImportDecl dom stage -> AnnMaybe ImportQualified dom stage
+ Language.Haskell.Tools.AST.Modules: [_importRename] :: ImportRenaming dom stage -> Ann ModuleName dom stage
+ Language.Haskell.Tools.AST.Modules: [_importSafe] :: ImportDecl dom stage -> AnnMaybe ImportSafe dom stage
+ Language.Haskell.Tools.AST.Modules: [_importSource] :: ImportDecl dom stage -> AnnMaybe ImportSource dom stage
+ Language.Haskell.Tools.AST.Modules: [_importSpecHiding] :: ImportSpec dom stage -> AnnList IESpec dom stage
+ Language.Haskell.Tools.AST.Modules: [_importSpecList] :: ImportSpec dom stage -> AnnList IESpec dom stage
+ Language.Haskell.Tools.AST.Modules: [_importSpec] :: ImportDecl dom stage -> AnnMaybe ImportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: [_langExt] :: LanguageExtension dom stage -> String
+ Language.Haskell.Tools.AST.Modules: [_lpPragmas] :: FilePragma dom stage -> AnnList LanguageExtension dom stage
+ Language.Haskell.Tools.AST.Modules: [_mhExports] :: ModuleHead dom stage -> AnnMaybe ExportSpecList dom stage
+ Language.Haskell.Tools.AST.Modules: [_mhName] :: ModuleHead dom stage -> Ann ModuleName dom stage
+ Language.Haskell.Tools.AST.Modules: [_mhPragma] :: ModuleHead dom stage -> AnnMaybe ModulePragma dom stage
+ Language.Haskell.Tools.AST.Modules: [_modDecl] :: Module dom stage -> AnnList Decl dom stage
+ Language.Haskell.Tools.AST.Modules: [_modDeprecatedPragma] :: ModulePragma dom stage -> AnnList StringNode dom stage
+ Language.Haskell.Tools.AST.Modules: [_modHead] :: Module dom stage -> AnnMaybe ModuleHead dom stage
+ Language.Haskell.Tools.AST.Modules: [_modImports] :: Module dom stage -> AnnList ImportDecl dom stage
+ Language.Haskell.Tools.AST.Modules: [_modWarningStr] :: ModulePragma dom stage -> AnnList StringNode dom stage
+ Language.Haskell.Tools.AST.Modules: [_opStr] :: FilePragma dom stage -> Ann StringNode dom stage
+ Language.Haskell.Tools.AST.Modules: data ExportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: data ExportSpecList dom stage
+ Language.Haskell.Tools.AST.Modules: data FilePragma dom stage
+ Language.Haskell.Tools.AST.Modules: data IESpec dom stage
+ Language.Haskell.Tools.AST.Modules: data ImportDecl dom stage
+ Language.Haskell.Tools.AST.Modules: data ImportQualified dom stage
+ Language.Haskell.Tools.AST.Modules: data ImportRenaming dom stage
+ Language.Haskell.Tools.AST.Modules: data ImportSafe dom stage
+ Language.Haskell.Tools.AST.Modules: data ImportSource dom stage
+ Language.Haskell.Tools.AST.Modules: data ImportSpec dom stage
+ Language.Haskell.Tools.AST.Modules: data LanguageExtension dom stage
+ Language.Haskell.Tools.AST.Modules: data Module dom stage
+ Language.Haskell.Tools.AST.Modules: data ModuleHead dom stage
+ Language.Haskell.Tools.AST.Modules: data ModulePragma dom stage
+ Language.Haskell.Tools.AST.Modules: data SubSpec dom stage
+ Language.Haskell.Tools.AST.Modules: data TypeNamespace dom stage
+ Language.Haskell.Tools.AST.Patterns: AppPat :: Ann Name dom stage -> AnnList Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: AsPat :: Ann Name dom stage -> Ann Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: BangPat :: Ann Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: FieldPunPattern :: Ann Name dom stage -> PatternField dom stage
+ Language.Haskell.Tools.AST.Patterns: FieldWildcardPattern :: Ann FieldWildcard dom stage -> PatternField dom stage
+ Language.Haskell.Tools.AST.Patterns: InfixPat :: Ann Pattern dom stage -> Ann Operator dom stage -> Ann Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: IrrPat :: Ann Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: ListPat :: AnnList Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: LitPat :: Ann Literal dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: NPlusKPat :: Ann Name dom stage -> Ann Literal dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: NormalFieldPattern :: Ann Name dom stage -> Ann Pattern dom stage -> PatternField dom stage
+ Language.Haskell.Tools.AST.Patterns: ParArrPat :: AnnList Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: ParenPat :: Ann Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: QuasiQuotePat :: Ann QuasiQuote dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: RecPat :: Ann Name dom stage -> AnnList PatternField dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: SplicePat :: Ann Splice dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: TuplePat :: AnnList Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: TypeSigPat :: Ann Pattern dom stage -> Ann Type dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: UnboxTuplePat :: AnnList Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: VarPat :: Ann Name dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: ViewPat :: Ann Expr dom stage -> Ann Pattern dom stage -> Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: WildPat :: Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_fieldPatternName] :: PatternField dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Patterns: [_fieldPatternWildcard] :: PatternField dom stage -> Ann FieldWildcard dom stage
+ Language.Haskell.Tools.AST.Patterns: [_fieldPattern] :: PatternField dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patQQ] :: Pattern dom stage -> Ann QuasiQuote dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternArgs] :: Pattern dom stage -> AnnList Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternElems] :: Pattern dom stage -> AnnList Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternExpr] :: Pattern dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternFields] :: Pattern dom stage -> AnnList PatternField dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternInner] :: Pattern dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternLhs] :: Pattern dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternLit] :: Pattern dom stage -> Ann Literal dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternLiteral] :: Pattern dom stage -> Ann Literal dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternName] :: Pattern dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternOperator] :: Pattern dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternRhs] :: Pattern dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternSplice] :: Pattern dom stage -> Ann Splice dom stage
+ Language.Haskell.Tools.AST.Patterns: [_patternType] :: Pattern dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Patterns: data Pattern dom stage
+ Language.Haskell.Tools.AST.Patterns: data PatternField dom stage
+ Language.Haskell.Tools.AST.References: allDerived :: forall dom_aUoO stage_aUoP. Partial (Deriving dom_aUoO stage_aUoP) (Deriving dom_aUoO stage_aUoP) (AnnList InstanceHead dom_aUoO stage_aUoP) (AnnList InstanceHead dom_aUoO stage_aUoP)
+ Language.Haskell.Tools.AST.References: altBinds :: forall expr_aPfG dom_aPfH stage_aPfI. Lens (Alt' expr_aPfG dom_aPfH stage_aPfI) (Alt' expr_aPfG dom_aPfH stage_aPfI) (AnnMaybe LocalBinds dom_aPfH stage_aPfI) (AnnMaybe LocalBinds dom_aPfH stage_aPfI)
+ Language.Haskell.Tools.AST.References: altPattern :: forall expr_aPfG dom_aPfH stage_aPfI. Lens (Alt' expr_aPfG dom_aPfH stage_aPfI) (Alt' expr_aPfG dom_aPfH stage_aPfI) (Ann Pattern dom_aPfH stage_aPfI) (Ann Pattern dom_aPfH stage_aPfI)
+ Language.Haskell.Tools.AST.References: altRhs :: forall expr_aPfG dom_aPfH stage_aPfI expr'_a59e4. Lens (Alt' expr_aPfG dom_aPfH stage_aPfI) (Alt' expr'_a59e4 dom_aPfH stage_aPfI) (Ann (CaseRhs' expr_aPfG) dom_aPfH stage_aPfI) (Ann (CaseRhs' expr'_a59e4) dom_aPfH stage_aPfI)
+ Language.Haskell.Tools.AST.References: annotateExpr :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann Expr dom_aSpX stage_aSpY) (Ann Expr dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: annotateName :: forall dom_aSpT stage_aSpU dom'_a5a8d stage'_a5a8e. Partial (AnnotationSubject dom_aSpT stage_aSpU) (AnnotationSubject dom'_a5a8d stage'_a5a8e) (Ann Name dom_aSpT stage_aSpU) (Ann Name dom'_a5a8d stage'_a5a8e)
+ Language.Haskell.Tools.AST.References: annotationSubject :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann AnnotationSubject dom_aSpX stage_aSpY) (Ann AnnotationSubject dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: arrowAppl :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann ArrowAppl dom_aPfP stage_aPfQ) (Ann ArrowAppl dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: assertClsName :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (Ann Name dom_aMDE stage_aMDF) (Ann Name dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: assertImplType :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (Ann Type dom_aMDE stage_aMDF) (Ann Type dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: assertImplVar :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (Ann Name dom_aMDE stage_aMDF) (Ann Name dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: assertLhs :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (Ann Type dom_aMDE stage_aMDF) (Ann Type dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: assertOp :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (Ann Operator dom_aMDE stage_aMDF) (Ann Operator dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: assertRhs :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (Ann Type dom_aMDE stage_aMDF) (Ann Type dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: assertTypes :: forall dom_aMDE stage_aMDF. Partial (Assertion dom_aMDE stage_aMDF) (Assertion dom_aMDE stage_aMDF) (AnnList Type dom_aMDE stage_aMDF) (AnnList Type dom_aMDE stage_aMDF)
+ Language.Haskell.Tools.AST.References: bracket :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Bracket dom_aPfP stage_aPfQ) (Ann Bracket dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: bracketDecl :: forall dom_aZBW stage_aZBX. Partial (Bracket dom_aZBW stage_aZBX) (Bracket dom_aZBW stage_aZBX) (AnnList Decl dom_aZBW stage_aZBX) (AnnList Decl dom_aZBW stage_aZBX)
+ Language.Haskell.Tools.AST.References: bracketExpr :: forall dom_aZBW stage_aZBX. Partial (Bracket dom_aZBW stage_aZBX) (Bracket dom_aZBW stage_aZBX) (Ann Expr dom_aZBW stage_aZBX) (Ann Expr dom_aZBW stage_aZBX)
+ Language.Haskell.Tools.AST.References: bracketPattern :: forall dom_aZBW stage_aZBX. Partial (Bracket dom_aZBW stage_aZBX) (Bracket dom_aZBW stage_aZBX) (Ann Pattern dom_aZBW stage_aZBX) (Ann Pattern dom_aZBW stage_aZBX)
+ Language.Haskell.Tools.AST.References: bracketType :: forall dom_aZBW stage_aZBX. Partial (Bracket dom_aZBW stage_aZBX) (Bracket dom_aZBW stage_aZBX) (Ann Type dom_aZBW stage_aZBX) (Ann Type dom_aZBW stage_aZBX)
+ Language.Haskell.Tools.AST.References: byExpr :: forall dom_aOOz stage_aOOA. Partial (CompStmt dom_aOOz stage_aOOA) (CompStmt dom_aOOz stage_aOOA) (AnnMaybe Expr dom_aOOz stage_aOOA) (AnnMaybe Expr dom_aOOz stage_aOOA)
+ Language.Haskell.Tools.AST.References: caseGuardExpr :: forall expr_aPfA dom_aPfB stage_aPfC expr'_a5aWb. Lens (GuardedCaseRhs' expr_aPfA dom_aPfB stage_aPfC) (GuardedCaseRhs' expr'_a5aWb dom_aPfB stage_aPfC) (Ann expr_aPfA dom_aPfB stage_aPfC) (Ann expr'_a5aWb dom_aPfB stage_aPfC)
+ Language.Haskell.Tools.AST.References: caseGuardStmts :: forall expr_aPfA dom_aPfB stage_aPfC. Lens (GuardedCaseRhs' expr_aPfA dom_aPfB stage_aPfC) (GuardedCaseRhs' expr_aPfA dom_aPfB stage_aPfC) (AnnList RhsGuard dom_aPfB stage_aPfC) (AnnList RhsGuard dom_aPfB stage_aPfC)
+ Language.Haskell.Tools.AST.References: cbElements :: forall dom_aUpa stage_aUpb dom'_a51Zh stage'_a51Zi. Lens (ClassBody dom_aUpa stage_aUpb) (ClassBody dom'_a51Zh stage'_a51Zi) (AnnList ClassElement dom_aUpa stage_aUpb) (AnnList ClassElement dom'_a51Zh stage'_a51Zi)
+ Language.Haskell.Tools.AST.References: ceBind :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann ValueBind dom_aUp8 stage_aUp9) (Ann ValueBind dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: ceHead :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann DeclHead dom_aUp8 stage_aUp9) (Ann DeclHead dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: ceKind :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann Type dom_aUp8 stage_aUp9) (Ann Type dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: ceName :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann Name dom_aUp8 stage_aUp9) (Ann Name dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: cePatSig :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann PatternTypeSignature dom_aUp8 stage_aUp9) (Ann PatternTypeSignature dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: ceType :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann Type dom_aUp8 stage_aUp9) (Ann Type dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: ceTypeFam :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann TypeFamily dom_aUp8 stage_aUp9) (Ann TypeFamily dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: ceTypeSig :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann TypeSignature dom_aUp8 stage_aUp9) (Ann TypeSignature dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: charLitValue :: forall dom_aLGs stage_aLGt. Partial (Literal dom_aLGs stage_aLGt) (Literal dom_aLGs stage_aLGt) Char Char
+ Language.Haskell.Tools.AST.References: cmdStmtBinds :: forall expr_aOOD dom_aOOE stage_aOOF. Partial (Stmt' expr_aOOD dom_aOOE stage_aOOF) (Stmt' expr_aOOD dom_aOOE stage_aOOF) (AnnList (Stmt' expr_aOOD) dom_aOOE stage_aOOF) (AnnList (Stmt' expr_aOOD) dom_aOOE stage_aOOF)
+ Language.Haskell.Tools.AST.References: compBody :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList ListCompBody dom_aPfP stage_aPfQ) (AnnList ListCompBody dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: compExpr :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: compStmt :: forall dom_aOOz stage_aOOA. Partial (CompStmt dom_aOOz stage_aOOA) (CompStmt dom_aOOz stage_aOOA) (Ann Stmt dom_aOOz stage_aOOA) (Ann Stmt dom_aOOz stage_aOOA)
+ Language.Haskell.Tools.AST.References: compStmts :: forall dom_aOOB stage_aOOC dom'_a5aHs stage'_a5aHt. Lens (ListCompBody dom_aOOB stage_aOOC) (ListCompBody dom'_a5aHs stage'_a5aHt) (AnnList CompStmt dom_aOOB stage_aOOC) (AnnList CompStmt dom'_a5aHs stage'_a5aHt)
+ Language.Haskell.Tools.AST.References: conDeclArgs :: forall dom_aUoS stage_aUoT. Partial (ConDecl dom_aUoS stage_aUoT) (ConDecl dom_aUoS stage_aUoT) (AnnList Type dom_aUoS stage_aUoT) (AnnList Type dom_aUoS stage_aUoT)
+ Language.Haskell.Tools.AST.References: conDeclFields :: forall dom_aUoS stage_aUoT. Partial (ConDecl dom_aUoS stage_aUoT) (ConDecl dom_aUoS stage_aUoT) (AnnList FieldDecl dom_aUoS stage_aUoT) (AnnList FieldDecl dom_aUoS stage_aUoT)
+ Language.Haskell.Tools.AST.References: conDeclLhs :: forall dom_aUoS stage_aUoT. Partial (ConDecl dom_aUoS stage_aUoT) (ConDecl dom_aUoS stage_aUoT) (Ann Type dom_aUoS stage_aUoT) (Ann Type dom_aUoS stage_aUoT)
+ Language.Haskell.Tools.AST.References: conDeclName :: forall dom_aUoS stage_aUoT. Partial (ConDecl dom_aUoS stage_aUoT) (ConDecl dom_aUoS stage_aUoT) (Ann Name dom_aUoS stage_aUoT) (Ann Name dom_aUoS stage_aUoT)
+ Language.Haskell.Tools.AST.References: conDeclOp :: forall dom_aUoS stage_aUoT. Partial (ConDecl dom_aUoS stage_aUoT) (ConDecl dom_aUoS stage_aUoT) (Ann Operator dom_aUoS stage_aUoT) (Ann Operator dom_aUoS stage_aUoT)
+ Language.Haskell.Tools.AST.References: conDeclRhs :: forall dom_aUoS stage_aUoT. Partial (ConDecl dom_aUoS stage_aUoT) (ConDecl dom_aUoS stage_aUoT) (Ann Type dom_aUoS stage_aUoT) (Ann Type dom_aUoS stage_aUoT)
+ Language.Haskell.Tools.AST.References: contextAssertion :: forall dom_aMDG stage_aMDH. Partial (Context dom_aMDG stage_aMDH) (Context dom_aMDG stage_aMDH) (Ann Assertion dom_aMDG stage_aMDH) (Ann Assertion dom_aMDG stage_aMDH)
+ Language.Haskell.Tools.AST.References: contextAssertions :: forall dom_aMDG stage_aMDH. Partial (Context dom_aMDG stage_aMDH) (Context dom_aMDG stage_aMDH) (AnnList Assertion dom_aMDG stage_aMDH) (AnnList Assertion dom_aMDG stage_aMDH)
+ Language.Haskell.Tools.AST.References: declAssignedType :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann Type dom_aUpi stage_aUpj) (Ann Type dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declBody :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe ClassBody dom_aUpi stage_aUpj) (AnnMaybe ClassBody dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declCallConv :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann CallConv dom_aUpi stage_aUpj) (Ann CallConv dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declCons :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnList ConDecl dom_aUpi stage_aUpj) (AnnList ConDecl dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declCtx :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe Context dom_aUpi stage_aUpj) (AnnMaybe Context dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declDecl :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnList TypeEqn dom_aUpi stage_aUpj) (AnnList TypeEqn dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declDeriving :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe Deriving dom_aUpi stage_aUpj) (AnnMaybe Deriving dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declFixity :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann FixitySignature dom_aUpi stage_aUpj) (Ann FixitySignature dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declFunDeps :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe FunDeps dom_aUpi stage_aUpj) (AnnMaybe FunDeps dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declGadt :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnList GadtConDecl dom_aUpi stage_aUpj) (AnnList GadtConDecl dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declHead :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann DeclHead dom_aUpi stage_aUpj) (Ann DeclHead dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declInstDecl :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe InstBody dom_aUpi stage_aUpj) (AnnMaybe InstBody dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declInstRule :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann InstanceRule dom_aUpi stage_aUpj) (Ann InstanceRule dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declInstance :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann InstanceRule dom_aUpi stage_aUpj) (Ann InstanceRule dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declKind :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe KindConstraint dom_aUpi stage_aUpj) (AnnMaybe KindConstraint dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declName :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann Name dom_aUpi stage_aUpj) (Ann Name dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declNewtype :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann DataOrNewtypeKeyword dom_aUpi stage_aUpj) (Ann DataOrNewtypeKeyword dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declOverlap :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe OverlapPragma dom_aUpi stage_aUpj) (AnnMaybe OverlapPragma dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declPatSyn :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann PatternSynonym dom_aUpi stage_aUpj) (Ann PatternSynonym dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declPatTypeSig :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann PatternTypeSignature dom_aUpi stage_aUpj) (Ann PatternTypeSignature dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declPragma :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann TopLevelPragma dom_aUpi stage_aUpj) (Ann TopLevelPragma dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declRoleType :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann QualifiedName dom_aUpi stage_aUpj) (Ann QualifiedName dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declRoles :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnList Role dom_aUpi stage_aUpj) (AnnList Role dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declSafety :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnMaybe Safety dom_aUpi stage_aUpj) (AnnMaybe Safety dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declSplice :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann Splice dom_aUpi stage_aUpj) (Ann Splice dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declType :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann Type dom_aUpi stage_aUpj) (Ann Type dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declTypeFamily :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann TypeFamily dom_aUpi stage_aUpj) (Ann TypeFamily dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declTypeSig :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann TypeSignature dom_aUpi stage_aUpj) (Ann TypeSignature dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declTypes :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (AnnList Type dom_aUpi stage_aUpj) (AnnList Type dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: declValBind :: forall dom_aUpi stage_aUpj. Partial (Decl dom_aUpi stage_aUpj) (Decl dom_aUpi stage_aUpj) (Ann ValueBind dom_aUpi stage_aUpj) (Ann ValueBind dom_aUpi stage_aUpj)
+ Language.Haskell.Tools.AST.References: dhAppFun :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann DeclHead dom_aUp6 stage_aUp7) (Ann DeclHead dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: dhAppOperand :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann TyVar dom_aUp6 stage_aUp7) (Ann TyVar dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: dhBody :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann DeclHead dom_aUp6 stage_aUp7) (Ann DeclHead dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: dhLeft :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann TyVar dom_aUp6 stage_aUp7) (Ann TyVar dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: dhName :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann Name dom_aUp6 stage_aUp7) (Ann Name dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: dhOperator :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann Operator dom_aUp6 stage_aUp7) (Ann Operator dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: dhRight :: forall dom_aUp6 stage_aUp7. Partial (DeclHead dom_aUp6 stage_aUp7) (DeclHead dom_aUp6 stage_aUp7) (Ann TyVar dom_aUp6 stage_aUp7) (Ann TyVar dom_aUp6 stage_aUp7)
+ Language.Haskell.Tools.AST.References: doKind :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann DoKind dom_aPfP stage_aPfQ) (Ann DoKind dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: enumFrom :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: enumThen :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnMaybe Expr dom_aPfP stage_aPfQ) (AnnMaybe Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: enumTo :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnMaybe Expr dom_aPfP stage_aPfQ) (AnnMaybe Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: enumToFix :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: espExports :: forall dom_aYBr stage_aYBs dom'_a4ZSz stage'_a4ZSA. Lens (ExportSpecList dom_aYBr stage_aYBs) (ExportSpecList dom'_a4ZSz stage'_a4ZSA) (AnnList ExportSpec dom_aYBr stage_aYBs) (AnnList ExportSpec dom'_a4ZSz stage'_a4ZSA)
+ Language.Haskell.Tools.AST.References: essList :: forall dom_aYBl stage_aYBm dom'_a4ZYu stage'_a4ZYv. Partial (SubSpec dom_aYBl stage_aYBm) (SubSpec dom'_a4ZYu stage'_a4ZYv) (AnnList Name dom_aYBl stage_aYBm) (AnnList Name dom'_a4ZYu stage'_a4ZYv)
+ Language.Haskell.Tools.AST.References: exportDecl :: forall dom_aYBp stage_aYBq. Partial (ExportSpec dom_aYBp stage_aYBq) (ExportSpec dom_aYBp stage_aYBq) (Ann IESpec dom_aYBp stage_aYBq) (Ann IESpec dom_aYBp stage_aYBq)
+ Language.Haskell.Tools.AST.References: exportModuleName :: forall dom_aYBp stage_aYBq. Partial (ExportSpec dom_aYBp stage_aYBq) (ExportSpec dom_aYBp stage_aYBq) (Ann ModuleName dom_aYBp stage_aYBq) (Ann ModuleName dom_aYBp stage_aYBq)
+ Language.Haskell.Tools.AST.References: exprAlts :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList Alt dom_aPfP stage_aPfQ) (AnnList Alt dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprArg :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprBindings :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList Pattern dom_aPfP stage_aPfQ) (AnnList Pattern dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprCase :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprCond :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprElse :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprFun :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprFunBind :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList LocalBind dom_aPfP stage_aPfQ) (AnnList LocalBind dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprIfAlts :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList GuardedCaseRhs dom_aPfP stage_aPfQ) (AnnList GuardedCaseRhs dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprInner :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprLhs :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprLit :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Literal dom_aPfP stage_aPfQ) (Ann Literal dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprName :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Name dom_aPfP stage_aPfQ) (Ann Name dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprOperator :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Operator dom_aPfP stage_aPfQ) (Ann Operator dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprPragma :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann ExprPragma dom_aPfP stage_aPfQ) (Ann ExprPragma dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprQQ :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann QuasiQuote dom_aPfP stage_aPfQ) (Ann QuasiQuote dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprRecFields :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList FieldUpdate dom_aPfP stage_aPfQ) (AnnList FieldUpdate dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprRecName :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Name dom_aPfP stage_aPfQ) (Ann Name dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprRhs :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprSig :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Type dom_aPfP stage_aPfQ) (Ann Type dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprStmts :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList Stmt dom_aPfP stage_aPfQ) (AnnList Stmt dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprThen :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ) (Ann Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: exprType :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Type dom_aPfP stage_aPfQ) (Ann Type dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: fieldName :: forall dom_aPfN stage_aPfO. Partial (FieldUpdate dom_aPfN stage_aPfO) (FieldUpdate dom_aPfN stage_aPfO) (Ann Name dom_aPfN stage_aPfO) (Ann Name dom_aPfN stage_aPfO)
+ Language.Haskell.Tools.AST.References: fieldNames :: forall dom_aUoQ stage_aUoR. Lens (FieldDecl dom_aUoQ stage_aUoR) (FieldDecl dom_aUoQ stage_aUoR) (AnnList Name dom_aUoQ stage_aUoR) (AnnList Name dom_aUoQ stage_aUoR)
+ Language.Haskell.Tools.AST.References: fieldPattern :: forall dom_aNUB stage_aNUC. Partial (PatternField dom_aNUB stage_aNUC) (PatternField dom_aNUB stage_aNUC) (Ann Pattern dom_aNUB stage_aNUC) (Ann Pattern dom_aNUB stage_aNUC)
+ Language.Haskell.Tools.AST.References: fieldPatternName :: forall dom_aNUB stage_aNUC. Partial (PatternField dom_aNUB stage_aNUC) (PatternField dom_aNUB stage_aNUC) (Ann Name dom_aNUB stage_aNUC) (Ann Name dom_aNUB stage_aNUC)
+ Language.Haskell.Tools.AST.References: fieldPatternWildcard :: forall dom_aNUB stage_aNUC. Partial (PatternField dom_aNUB stage_aNUC) (PatternField dom_aNUB stage_aNUC) (Ann FieldWildcard dom_aNUB stage_aNUC) (Ann FieldWildcard dom_aNUB stage_aNUC)
+ Language.Haskell.Tools.AST.References: fieldType :: forall dom_aUoQ stage_aUoR. Lens (FieldDecl dom_aUoQ stage_aUoR) (FieldDecl dom_aUoQ stage_aUoR) (Ann Type dom_aUoQ stage_aUoR) (Ann Type dom_aUoQ stage_aUoR)
+ Language.Haskell.Tools.AST.References: fieldUpdateName :: forall dom_aPfN stage_aPfO. Partial (FieldUpdate dom_aPfN stage_aPfO) (FieldUpdate dom_aPfN stage_aPfO) (Ann Name dom_aPfN stage_aPfO) (Ann Name dom_aPfN stage_aPfO)
+ Language.Haskell.Tools.AST.References: fieldValue :: forall dom_aPfN stage_aPfO. Partial (FieldUpdate dom_aPfN stage_aPfO) (FieldUpdate dom_aPfN stage_aPfO) (Ann Expr dom_aPfN stage_aPfO) (Ann Expr dom_aPfN stage_aPfO)
+ Language.Haskell.Tools.AST.References: fieldWildcard :: forall dom_aPfN stage_aPfO. Partial (FieldUpdate dom_aPfN stage_aPfO) (FieldUpdate dom_aPfN stage_aPfO) (Ann FieldWildcard dom_aPfN stage_aPfO) (Ann FieldWildcard dom_aPfN stage_aPfO)
+ Language.Haskell.Tools.AST.References: filePragmas :: forall dom_aYBv stage_aYBw. Lens (Module dom_aYBv stage_aYBw) (Module dom_aYBv stage_aYBw) (AnnList FilePragma dom_aYBv stage_aYBw) (AnnList FilePragma dom_aYBv stage_aYBw)
+ Language.Haskell.Tools.AST.References: fixityAssoc :: forall dom_aSq5 stage_aSq6. Lens (FixitySignature dom_aSq5 stage_aSq6) (FixitySignature dom_aSq5 stage_aSq6) (Ann Assoc dom_aSq5 stage_aSq6) (Ann Assoc dom_aSq5 stage_aSq6)
+ Language.Haskell.Tools.AST.References: fixityOperators :: forall dom_aSq5 stage_aSq6. Lens (FixitySignature dom_aSq5 stage_aSq6) (FixitySignature dom_aSq5 stage_aSq6) (AnnList Operator dom_aSq5 stage_aSq6) (AnnList Operator dom_aSq5 stage_aSq6)
+ Language.Haskell.Tools.AST.References: fixityPrecedence :: forall dom_aSq5 stage_aSq6. Lens (FixitySignature dom_aSq5 stage_aSq6) (FixitySignature dom_aSq5 stage_aSq6) (Ann Precedence dom_aSq5 stage_aSq6) (Ann Precedence dom_aSq5 stage_aSq6)
+ Language.Haskell.Tools.AST.References: floatLitValue :: forall dom_aLGs stage_aLGt. Partial (Literal dom_aLGs stage_aLGt) (Literal dom_aLGs stage_aLGt) Rational Rational
+ Language.Haskell.Tools.AST.References: fracLitValue :: forall dom_aLGs stage_aLGt. Partial (Literal dom_aLGs stage_aLGt) (Literal dom_aLGs stage_aLGt) Rational Rational
+ Language.Haskell.Tools.AST.References: funBindMatches :: forall dom_aSqh stage_aSqi. Partial (ValueBind dom_aSqh stage_aSqi) (ValueBind dom_aSqh stage_aSqi) (AnnList Match dom_aSqh stage_aSqi) (AnnList Match dom_aSqh stage_aSqi)
+ Language.Haskell.Tools.AST.References: funDepLhs :: forall dom_aUoU stage_aUoV. Lens (FunDep dom_aUoU stage_aUoV) (FunDep dom_aUoU stage_aUoV) (AnnList Name dom_aUoU stage_aUoV) (AnnList Name dom_aUoU stage_aUoV)
+ Language.Haskell.Tools.AST.References: funDepRhs :: forall dom_aUoU stage_aUoV. Lens (FunDep dom_aUoU stage_aUoV) (FunDep dom_aUoU stage_aUoV) (AnnList Name dom_aUoU stage_aUoV) (AnnList Name dom_aUoU stage_aUoV)
+ Language.Haskell.Tools.AST.References: funDeps :: forall dom_aUoW stage_aUoX dom'_a52Wn stage'_a52Wo. Lens (FunDeps dom_aUoW stage_aUoX) (FunDeps dom'_a52Wn stage'_a52Wo) (AnnList FunDep dom_aUoW stage_aUoX) (AnnList FunDep dom'_a52Wn stage'_a52Wo)
+ Language.Haskell.Tools.AST.References: gadtConNames :: forall dom_aUp0 stage_aUp1. Lens (GadtConDecl dom_aUp0 stage_aUp1) (GadtConDecl dom_aUp0 stage_aUp1) (AnnList Name dom_aUp0 stage_aUp1) (AnnList Name dom_aUp0 stage_aUp1)
+ Language.Haskell.Tools.AST.References: gadtConNormalType :: forall dom_aUoY stage_aUoZ. Partial (GadtConType dom_aUoY stage_aUoZ) (GadtConType dom_aUoY stage_aUoZ) (Ann Type dom_aUoY stage_aUoZ) (Ann Type dom_aUoY stage_aUoZ)
+ Language.Haskell.Tools.AST.References: gadtConRecordFields :: forall dom_aUoY stage_aUoZ. Partial (GadtConType dom_aUoY stage_aUoZ) (GadtConType dom_aUoY stage_aUoZ) (AnnList FieldDecl dom_aUoY stage_aUoZ) (AnnList FieldDecl dom_aUoY stage_aUoZ)
+ Language.Haskell.Tools.AST.References: gadtConResultType :: forall dom_aUoY stage_aUoZ. Partial (GadtConType dom_aUoY stage_aUoZ) (GadtConType dom_aUoY stage_aUoZ) (Ann Type dom_aUoY stage_aUoZ) (Ann Type dom_aUoY stage_aUoZ)
+ Language.Haskell.Tools.AST.References: gadtConType :: forall dom_aUp0 stage_aUp1. Lens (GadtConDecl dom_aUp0 stage_aUp1) (GadtConDecl dom_aUp0 stage_aUp1) (Ann GadtConType dom_aUp0 stage_aUp1) (Ann GadtConType dom_aUp0 stage_aUp1)
+ Language.Haskell.Tools.AST.References: guardBinds :: forall dom_aSpZ stage_aSq0. Partial (RhsGuard dom_aSpZ stage_aSq0) (RhsGuard dom_aSpZ stage_aSq0) (AnnList LocalBind dom_aSpZ stage_aSq0) (AnnList LocalBind dom_aSpZ stage_aSq0)
+ Language.Haskell.Tools.AST.References: guardCheck :: forall dom_aSpZ stage_aSq0. Partial (RhsGuard dom_aSpZ stage_aSq0) (RhsGuard dom_aSpZ stage_aSq0) (Ann Expr dom_aSpZ stage_aSq0) (Ann Expr dom_aSpZ stage_aSq0)
+ Language.Haskell.Tools.AST.References: guardExpr :: forall dom_aSq1 stage_aSq2. Lens (GuardedRhs dom_aSq1 stage_aSq2) (GuardedRhs dom_aSq1 stage_aSq2) (Ann Expr dom_aSq1 stage_aSq2) (Ann Expr dom_aSq1 stage_aSq2)
+ Language.Haskell.Tools.AST.References: guardPat :: forall dom_aSpZ stage_aSq0. Partial (RhsGuard dom_aSpZ stage_aSq0) (RhsGuard dom_aSpZ stage_aSq0) (Ann Pattern dom_aSpZ stage_aSq0) (Ann Pattern dom_aSpZ stage_aSq0)
+ Language.Haskell.Tools.AST.References: guardRhs :: forall dom_aSpZ stage_aSq0. Partial (RhsGuard dom_aSpZ stage_aSq0) (RhsGuard dom_aSpZ stage_aSq0) (Ann Expr dom_aSpZ stage_aSq0) (Ann Expr dom_aSpZ stage_aSq0)
+ Language.Haskell.Tools.AST.References: guardStmts :: forall dom_aSq1 stage_aSq2. Lens (GuardedRhs dom_aSq1 stage_aSq2) (GuardedRhs dom_aSq1 stage_aSq2) (AnnList RhsGuard dom_aSq1 stage_aSq2) (AnnList RhsGuard dom_aSq1 stage_aSq2)
+ Language.Haskell.Tools.AST.References: ieName :: forall dom_aYBn stage_aYBo. Lens (IESpec dom_aYBn stage_aYBo) (IESpec dom_aYBn stage_aYBo) (Ann Name dom_aYBn stage_aYBo) (Ann Name dom_aYBn stage_aYBo)
+ Language.Haskell.Tools.AST.References: ieSubspec :: forall dom_aYBn stage_aYBo. Lens (IESpec dom_aYBn stage_aYBo) (IESpec dom_aYBn stage_aYBo) (AnnMaybe SubSpec dom_aYBn stage_aYBo) (AnnMaybe SubSpec dom_aYBn stage_aYBo)
+ Language.Haskell.Tools.AST.References: ihConName :: forall dom_aUoK stage_aUoL. Partial (InstanceHead dom_aUoK stage_aUoL) (InstanceHead dom_aUoK stage_aUoL) (Ann Name dom_aUoK stage_aUoL) (Ann Name dom_aUoK stage_aUoL)
+ Language.Haskell.Tools.AST.References: ihFun :: forall dom_aUoK stage_aUoL. Partial (InstanceHead dom_aUoK stage_aUoL) (InstanceHead dom_aUoK stage_aUoL) (Ann InstanceHead dom_aUoK stage_aUoL) (Ann InstanceHead dom_aUoK stage_aUoL)
+ Language.Haskell.Tools.AST.References: ihHead :: forall dom_aUoK stage_aUoL. Partial (InstanceHead dom_aUoK stage_aUoL) (InstanceHead dom_aUoK stage_aUoL) (Ann InstanceHead dom_aUoK stage_aUoL) (Ann InstanceHead dom_aUoK stage_aUoL)
+ Language.Haskell.Tools.AST.References: ihLeftOp :: forall dom_aUoK stage_aUoL. Partial (InstanceHead dom_aUoK stage_aUoL) (InstanceHead dom_aUoK stage_aUoL) (Ann Type dom_aUoK stage_aUoL) (Ann Type dom_aUoK stage_aUoL)
+ Language.Haskell.Tools.AST.References: ihOperator :: forall dom_aUoK stage_aUoL. Partial (InstanceHead dom_aUoK stage_aUoL) (InstanceHead dom_aUoK stage_aUoL) (Ann Name dom_aUoK stage_aUoL) (Ann Name dom_aUoK stage_aUoL)
+ Language.Haskell.Tools.AST.References: ihType :: forall dom_aUoK stage_aUoL. Partial (InstanceHead dom_aUoK stage_aUoL) (InstanceHead dom_aUoK stage_aUoL) (Ann Type dom_aUoK stage_aUoL) (Ann Type dom_aUoK stage_aUoL)
+ Language.Haskell.Tools.AST.References: importAs :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (AnnMaybe ImportRenaming dom_aYBd stage_aYBe) (AnnMaybe ImportRenaming dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importModule :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (Ann ModuleName dom_aYBd stage_aYBe) (Ann ModuleName dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importPkg :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (AnnMaybe StringNode dom_aYBd stage_aYBe) (AnnMaybe StringNode dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importQualified :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (AnnMaybe ImportQualified dom_aYBd stage_aYBe) (AnnMaybe ImportQualified dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importRename :: forall dom_aYB1 stage_aYB2 dom'_a50cB stage'_a50cC. Lens (ImportRenaming dom_aYB1 stage_aYB2) (ImportRenaming dom'_a50cB stage'_a50cC) (Ann ModuleName dom_aYB1 stage_aYB2) (Ann ModuleName dom'_a50cB stage'_a50cC)
+ Language.Haskell.Tools.AST.References: importSafe :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (AnnMaybe ImportSafe dom_aYBd stage_aYBe) (AnnMaybe ImportSafe dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importSource :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (AnnMaybe ImportSource dom_aYBd stage_aYBe) (AnnMaybe ImportSource dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importSpec :: forall dom_aYBd stage_aYBe. Lens (ImportDecl dom_aYBd stage_aYBe) (ImportDecl dom_aYBd stage_aYBe) (AnnMaybe ImportSpec dom_aYBd stage_aYBe) (AnnMaybe ImportSpec dom_aYBd stage_aYBe)
+ Language.Haskell.Tools.AST.References: importSpecHiding :: forall dom_aYBb stage_aYBc. Partial (ImportSpec dom_aYBb stage_aYBc) (ImportSpec dom_aYBb stage_aYBc) (AnnList IESpec dom_aYBb stage_aYBc) (AnnList IESpec dom_aYBb stage_aYBc)
+ Language.Haskell.Tools.AST.References: importSpecList :: forall dom_aYBb stage_aYBc. Partial (ImportSpec dom_aYBb stage_aYBc) (ImportSpec dom_aYBb stage_aYBc) (AnnList IESpec dom_aYBb stage_aYBc) (AnnList IESpec dom_aYBb stage_aYBc)
+ Language.Haskell.Tools.AST.References: injAnnDeps :: forall dom_aUpc stage_aUpd. Lens (InjectivityAnn dom_aUpc stage_aUpd) (InjectivityAnn dom_aUpc stage_aUpd) (AnnList Name dom_aUpc stage_aUpd) (AnnList Name dom_aUpc stage_aUpd)
+ Language.Haskell.Tools.AST.References: injAnnRes :: forall dom_aUpc stage_aUpd. Lens (InjectivityAnn dom_aUpc stage_aUpd) (InjectivityAnn dom_aUpc stage_aUpd) (Ann Name dom_aUpc stage_aUpd) (Ann Name dom_aUpc stage_aUpd)
+ Language.Haskell.Tools.AST.References: inlinableDef :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: inlineDef :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: innerExpr :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Splice dom_aPfP stage_aPfQ) (Ann Splice dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: instBodyDataCons :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (AnnList ConDecl dom_aUp2 stage_aUp3) (AnnList ConDecl dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyDataKind :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (AnnMaybe KindConstraint dom_aUp2 stage_aUp3) (AnnMaybe KindConstraint dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyDataNew :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann DataOrNewtypeKeyword dom_aUp2 stage_aUp3) (Ann DataOrNewtypeKeyword dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyDeclFunbind :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann ValueBind dom_aUp2 stage_aUp3) (Ann ValueBind dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyDecls :: forall dom_aUp4 stage_aUp5 dom'_a52t0 stage'_a52t1. Lens (InstBody dom_aUp4 stage_aUp5) (InstBody dom'_a52t0 stage'_a52t1) (AnnList InstBodyDecl dom_aUp4 stage_aUp5) (AnnList InstBodyDecl dom'_a52t0 stage'_a52t1)
+ Language.Haskell.Tools.AST.References: instBodyDerivings :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (AnnMaybe Deriving dom_aUp2 stage_aUp3) (AnnMaybe Deriving dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyGadtCons :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (AnnList GadtConDecl dom_aUp2 stage_aUp3) (AnnList GadtConDecl dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyLhsType :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann InstanceRule dom_aUp2 stage_aUp3) (Ann InstanceRule dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyPatSyn :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann PatternSynonym dom_aUp2 stage_aUp3) (Ann PatternSynonym dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyTypeEqn :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann TypeEqn dom_aUp2 stage_aUp3) (Ann TypeEqn dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: instBodyTypeSig :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann TypeSignature dom_aUp2 stage_aUp3) (Ann TypeSignature dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: intLitValue :: forall dom_aLGs stage_aLGt. Partial (Literal dom_aLGs stage_aLGt) (Literal dom_aLGs stage_aLGt) Integer Integer
+ Language.Haskell.Tools.AST.References: irCtx :: forall dom_aUoM stage_aUoN. Partial (InstanceRule dom_aUoM stage_aUoN) (InstanceRule dom_aUoM stage_aUoN) (AnnMaybe Context dom_aUoM stage_aUoN) (AnnMaybe Context dom_aUoM stage_aUoN)
+ Language.Haskell.Tools.AST.References: irHead :: forall dom_aUoM stage_aUoN. Partial (InstanceRule dom_aUoM stage_aUoN) (InstanceRule dom_aUoM stage_aUoN) (Ann InstanceHead dom_aUoM stage_aUoN) (Ann InstanceHead dom_aUoM stage_aUoN)
+ Language.Haskell.Tools.AST.References: irRule :: forall dom_aUoM stage_aUoN. Partial (InstanceRule dom_aUoM stage_aUoN) (InstanceRule dom_aUoM stage_aUoN) (Ann InstanceRule dom_aUoM stage_aUoN) (Ann InstanceRule dom_aUoM stage_aUoN)
+ Language.Haskell.Tools.AST.References: irVars :: forall dom_aUoM stage_aUoN. Partial (InstanceRule dom_aUoM stage_aUoN) (InstanceRule dom_aUoM stage_aUoN) (AnnMaybe (AnnList TyVar) dom_aUoM stage_aUoN) (AnnMaybe (AnnList TyVar) dom_aUoM stage_aUoN)
+ Language.Haskell.Tools.AST.References: kindAppArg :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindAppFun :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindConstr :: forall dom_aM2u stage_aM2v dom'_a53vt stage'_a53vu. Lens (KindConstraint dom_aM2u stage_aM2v) (KindConstraint dom'_a53vt stage'_a53vu) (Ann Kind dom_aM2u stage_aM2v) (Ann Kind dom'_a53vt stage'_a53vu)
+ Language.Haskell.Tools.AST.References: kindElem :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindLeft :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindParen :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindPromoted :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann (Promoted Kind) dom_aM2s stage_aM2t) (Ann (Promoted Kind) dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindRight :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t) (Ann Kind dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: kindVar :: forall dom_aM2s stage_aM2t. Partial (Kind dom_aM2s stage_aM2t) (Kind dom_aM2s stage_aM2t) (Ann Name dom_aM2s stage_aM2t) (Ann Name dom_aM2s stage_aM2t)
+ Language.Haskell.Tools.AST.References: langExt :: forall dom_aYBf stage_aYBg. Lens (LanguageExtension dom_aYBf stage_aYBg) (LanguageExtension dom_aYBf stage_aYBg) String String
+ Language.Haskell.Tools.AST.References: listElems :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList Expr dom_aPfP stage_aPfQ) (AnnList Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: localBinds :: forall dom_aSqb stage_aSqc dom'_a5aBT stage'_a5aBU. Lens (LocalBinds dom_aSqb stage_aSqc) (LocalBinds dom'_a5aBT stage'_a5aBU) (AnnList LocalBind dom_aSqb stage_aSqc) (AnnList LocalBind dom'_a5aBT stage'_a5aBU)
+ Language.Haskell.Tools.AST.References: localFixity :: forall dom_aSq9 stage_aSqa. Partial (LocalBind dom_aSq9 stage_aSqa) (LocalBind dom_aSq9 stage_aSqa) (Ann FixitySignature dom_aSq9 stage_aSqa) (Ann FixitySignature dom_aSq9 stage_aSqa)
+ Language.Haskell.Tools.AST.References: localSig :: forall dom_aSq9 stage_aSqa. Partial (LocalBind dom_aSq9 stage_aSqa) (LocalBind dom_aSq9 stage_aSqa) (Ann TypeSignature dom_aSq9 stage_aSqa) (Ann TypeSignature dom_aSq9 stage_aSqa)
+ Language.Haskell.Tools.AST.References: localVal :: forall dom_aSq9 stage_aSqa. Partial (LocalBind dom_aSq9 stage_aSqa) (LocalBind dom_aSq9 stage_aSqa) (Ann ValueBind dom_aSq9 stage_aSqa) (Ann ValueBind dom_aSq9 stage_aSqa)
+ Language.Haskell.Tools.AST.References: matchBinds :: forall dom_aSqf stage_aSqg. Lens (Match dom_aSqf stage_aSqg) (Match dom_aSqf stage_aSqg) (AnnMaybe LocalBinds dom_aSqf stage_aSqg) (AnnMaybe LocalBinds dom_aSqf stage_aSqg)
+ Language.Haskell.Tools.AST.References: matchLhs :: forall dom_aSqf stage_aSqg. Lens (Match dom_aSqf stage_aSqg) (Match dom_aSqf stage_aSqg) (Ann MatchLhs dom_aSqf stage_aSqg) (Ann MatchLhs dom_aSqf stage_aSqg)
+ Language.Haskell.Tools.AST.References: matchLhsArgs :: forall dom_aSqd stage_aSqe. Lens (MatchLhs dom_aSqd stage_aSqe) (MatchLhs dom_aSqd stage_aSqe) (AnnList Pattern dom_aSqd stage_aSqe) (AnnList Pattern dom_aSqd stage_aSqe)
+ Language.Haskell.Tools.AST.References: matchLhsLhs :: forall dom_aSqd stage_aSqe. Partial (MatchLhs dom_aSqd stage_aSqe) (MatchLhs dom_aSqd stage_aSqe) (Ann Pattern dom_aSqd stage_aSqe) (Ann Pattern dom_aSqd stage_aSqe)
+ Language.Haskell.Tools.AST.References: matchLhsName :: forall dom_aSqd stage_aSqe. Partial (MatchLhs dom_aSqd stage_aSqe) (MatchLhs dom_aSqd stage_aSqe) (Ann Name dom_aSqd stage_aSqe) (Ann Name dom_aSqd stage_aSqe)
+ Language.Haskell.Tools.AST.References: matchLhsOperator :: forall dom_aSqd stage_aSqe. Partial (MatchLhs dom_aSqd stage_aSqe) (MatchLhs dom_aSqd stage_aSqe) (Ann Operator dom_aSqd stage_aSqe) (Ann Operator dom_aSqd stage_aSqe)
+ Language.Haskell.Tools.AST.References: matchLhsRhs :: forall dom_aSqd stage_aSqe. Partial (MatchLhs dom_aSqd stage_aSqe) (MatchLhs dom_aSqd stage_aSqe) (Ann Pattern dom_aSqd stage_aSqe) (Ann Pattern dom_aSqd stage_aSqe)
+ Language.Haskell.Tools.AST.References: matchRhs :: forall dom_aSqf stage_aSqg. Lens (Match dom_aSqf stage_aSqg) (Match dom_aSqf stage_aSqg) (Ann Rhs dom_aSqf stage_aSqg) (Ann Rhs dom_aSqf stage_aSqg)
+ Language.Haskell.Tools.AST.References: mhExports :: forall dom_aYBt stage_aYBu. Lens (ModuleHead dom_aYBt stage_aYBu) (ModuleHead dom_aYBt stage_aYBu) (AnnMaybe ExportSpecList dom_aYBt stage_aYBu) (AnnMaybe ExportSpecList dom_aYBt stage_aYBu)
+ Language.Haskell.Tools.AST.References: mhName :: forall dom_aYBt stage_aYBu. Lens (ModuleHead dom_aYBt stage_aYBu) (ModuleHead dom_aYBt stage_aYBu) (Ann ModuleName dom_aYBt stage_aYBu) (Ann ModuleName dom_aYBt stage_aYBu)
+ Language.Haskell.Tools.AST.References: mhPragma :: forall dom_aYBt stage_aYBu. Lens (ModuleHead dom_aYBt stage_aYBu) (ModuleHead dom_aYBt stage_aYBu) (AnnMaybe ModulePragma dom_aYBt stage_aYBu) (AnnMaybe ModulePragma dom_aYBt stage_aYBu)
+ Language.Haskell.Tools.AST.References: minimalAnds :: forall dom_aSpR stage_aSpS. Partial (MinimalFormula dom_aSpR stage_aSpS) (MinimalFormula dom_aSpR stage_aSpS) (AnnList MinimalFormula dom_aSpR stage_aSpS) (AnnList MinimalFormula dom_aSpR stage_aSpS)
+ Language.Haskell.Tools.AST.References: minimalInner :: forall dom_aSpR stage_aSpS. Partial (MinimalFormula dom_aSpR stage_aSpS) (MinimalFormula dom_aSpR stage_aSpS) (Ann MinimalFormula dom_aSpR stage_aSpS) (Ann MinimalFormula dom_aSpR stage_aSpS)
+ Language.Haskell.Tools.AST.References: minimalName :: forall dom_aSpR stage_aSpS. Partial (MinimalFormula dom_aSpR stage_aSpS) (MinimalFormula dom_aSpR stage_aSpS) (Ann Name dom_aSpR stage_aSpS) (Ann Name dom_aSpR stage_aSpS)
+ Language.Haskell.Tools.AST.References: minimalOrs :: forall dom_aSpR stage_aSpS. Partial (MinimalFormula dom_aSpR stage_aSpS) (MinimalFormula dom_aSpR stage_aSpS) (AnnList MinimalFormula dom_aSpR stage_aSpS) (AnnList MinimalFormula dom_aSpR stage_aSpS)
+ Language.Haskell.Tools.AST.References: modDecl :: forall dom_aYBv stage_aYBw. Lens (Module dom_aYBv stage_aYBw) (Module dom_aYBv stage_aYBw) (AnnList Decl dom_aYBv stage_aYBw) (AnnList Decl dom_aYBv stage_aYBw)
+ Language.Haskell.Tools.AST.References: modDeprecatedPragma :: forall dom_aYBh stage_aYBi. Partial (ModulePragma dom_aYBh stage_aYBi) (ModulePragma dom_aYBh stage_aYBi) (AnnList StringNode dom_aYBh stage_aYBi) (AnnList StringNode dom_aYBh stage_aYBi)
+ Language.Haskell.Tools.AST.References: modHead :: forall dom_aYBv stage_aYBw. Lens (Module dom_aYBv stage_aYBw) (Module dom_aYBv stage_aYBw) (AnnMaybe ModuleHead dom_aYBv stage_aYBw) (AnnMaybe ModuleHead dom_aYBv stage_aYBw)
+ Language.Haskell.Tools.AST.References: modImports :: forall dom_aYBv stage_aYBw. Lens (Module dom_aYBv stage_aYBw) (Module dom_aYBv stage_aYBw) (AnnList ImportDecl dom_aYBv stage_aYBw) (AnnList ImportDecl dom_aYBv stage_aYBw)
+ Language.Haskell.Tools.AST.References: modWarningStr :: forall dom_aYBh stage_aYBi. Partial (ModulePragma dom_aYBh stage_aYBi) (ModulePragma dom_aYBh stage_aYBi) (AnnList StringNode dom_aYBh stage_aYBi) (AnnList StringNode dom_aYBh stage_aYBi)
+ Language.Haskell.Tools.AST.References: moduleNameString :: forall dom_aKAB stage_aKAC. Lens (ModuleName dom_aKAB stage_aKAC) (ModuleName dom_aKAB stage_aKAC) String String
+ Language.Haskell.Tools.AST.References: noInlineDef :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: numberInteger :: forall dom_aPfu stage_aPfv. Lens (Number dom_aPfu stage_aPfv) (Number dom_aPfu stage_aPfv) Integer Integer
+ Language.Haskell.Tools.AST.References: oneDerived :: forall dom_aUoO stage_aUoP. Partial (Deriving dom_aUoO stage_aUoP) (Deriving dom_aUoO stage_aUoP) (Ann InstanceHead dom_aUoO stage_aUoP) (Ann InstanceHead dom_aUoO stage_aUoP)
+ Language.Haskell.Tools.AST.References: operatorName :: forall dom_aKAL stage_aKAM dom'_a5bEW stage'_a5bEX. Lens (Operator dom_aKAL stage_aKAM) (Operator dom'_a5bEW stage'_a5bEX) (Ann QualifiedName dom_aKAL stage_aKAM) (Ann QualifiedName dom'_a5bEW stage'_a5bEX)
+ Language.Haskell.Tools.AST.References: patArgs :: forall dom_aUoC stage_aUoD. Partial (PatSynLhs dom_aUoC stage_aUoD) (PatSynLhs dom_aUoC stage_aUoD) (AnnList Name dom_aUoC stage_aUoD) (AnnList Name dom_aUoC stage_aUoD)
+ Language.Haskell.Tools.AST.References: patLhs :: forall dom_aUoE stage_aUoF. Lens (PatternSynonym dom_aUoE stage_aUoF) (PatternSynonym dom_aUoE stage_aUoF) (Ann PatSynLhs dom_aUoE stage_aUoF) (Ann PatSynLhs dom_aUoE stage_aUoF)
+ Language.Haskell.Tools.AST.References: patName :: forall dom_aUoC stage_aUoD. Partial (PatSynLhs dom_aUoC stage_aUoD) (PatSynLhs dom_aUoC stage_aUoD) (Ann Name dom_aUoC stage_aUoD) (Ann Name dom_aUoC stage_aUoD)
+ Language.Haskell.Tools.AST.References: patOpposite :: forall dom_aUoy stage_aUoz dom'_a5baJ stage'_a5baK. Lens (PatSynWhere dom_aUoy stage_aUoz) (PatSynWhere dom'_a5baJ stage'_a5baK) (AnnList Match dom_aUoy stage_aUoz) (AnnList Match dom'_a5baJ stage'_a5baK)
+ Language.Haskell.Tools.AST.References: patQQ :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann QuasiQuote dom_aNUD stage_aNUE) (Ann QuasiQuote dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patRhs :: forall dom_aUoE stage_aUoF. Lens (PatternSynonym dom_aUoE stage_aUoF) (PatternSynonym dom_aUoE stage_aUoF) (Ann PatSynRhs dom_aUoE stage_aUoF) (Ann PatSynRhs dom_aUoE stage_aUoF)
+ Language.Haskell.Tools.AST.References: patRhsOpposite :: forall dom_aUoA stage_aUoB. Partial (PatSynRhs dom_aUoA stage_aUoB) (PatSynRhs dom_aUoA stage_aUoB) (AnnMaybe PatSynWhere dom_aUoA stage_aUoB) (AnnMaybe PatSynWhere dom_aUoA stage_aUoB)
+ Language.Haskell.Tools.AST.References: patRhsPat :: forall dom_aUoA stage_aUoB. Lens (PatSynRhs dom_aUoA stage_aUoB) (PatSynRhs dom_aUoA stage_aUoB) (Ann Pattern dom_aUoA stage_aUoB) (Ann Pattern dom_aUoA stage_aUoB)
+ Language.Haskell.Tools.AST.References: patSigName :: forall dom_aUoG stage_aUoH. Lens (PatternTypeSignature dom_aUoG stage_aUoH) (PatternTypeSignature dom_aUoG stage_aUoH) (Ann Name dom_aUoG stage_aUoH) (Ann Name dom_aUoG stage_aUoH)
+ Language.Haskell.Tools.AST.References: patSigType :: forall dom_aUoG stage_aUoH. Lens (PatternTypeSignature dom_aUoG stage_aUoH) (PatternTypeSignature dom_aUoG stage_aUoH) (Ann Type dom_aUoG stage_aUoH) (Ann Type dom_aUoG stage_aUoH)
+ Language.Haskell.Tools.AST.References: patSynLhs :: forall dom_aUoC stage_aUoD. Partial (PatSynLhs dom_aUoC stage_aUoD) (PatSynLhs dom_aUoC stage_aUoD) (Ann Name dom_aUoC stage_aUoD) (Ann Name dom_aUoC stage_aUoD)
+ Language.Haskell.Tools.AST.References: patSynOp :: forall dom_aUoC stage_aUoD. Partial (PatSynLhs dom_aUoC stage_aUoD) (PatSynLhs dom_aUoC stage_aUoD) (Ann Operator dom_aUoC stage_aUoD) (Ann Operator dom_aUoC stage_aUoD)
+ Language.Haskell.Tools.AST.References: patSynRhs :: forall dom_aUoC stage_aUoD. Partial (PatSynLhs dom_aUoC stage_aUoD) (PatSynLhs dom_aUoC stage_aUoD) (Ann Name dom_aUoC stage_aUoD) (Ann Name dom_aUoC stage_aUoD)
+ Language.Haskell.Tools.AST.References: patternArgs :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (AnnList Pattern dom_aNUD stage_aNUE) (AnnList Pattern dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternElems :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (AnnList Pattern dom_aNUD stage_aNUE) (AnnList Pattern dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternExpr :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Expr dom_aNUD stage_aNUE) (Ann Expr dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternFields :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (AnnList PatternField dom_aNUD stage_aNUE) (AnnList PatternField dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternInner :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Pattern dom_aNUD stage_aNUE) (Ann Pattern dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternLhs :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Pattern dom_aNUD stage_aNUE) (Ann Pattern dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternLit :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Literal dom_aNUD stage_aNUE) (Ann Literal dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternLiteral :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Literal dom_aNUD stage_aNUE) (Ann Literal dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternName :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Name dom_aNUD stage_aNUE) (Ann Name dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternOperator :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Operator dom_aNUD stage_aNUE) (Ann Operator dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternRhs :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Pattern dom_aNUD stage_aNUE) (Ann Pattern dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternSplice :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Splice dom_aNUD stage_aNUE) (Ann Splice dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: patternType :: forall dom_aNUD stage_aNUE. Partial (Pattern dom_aNUD stage_aNUE) (Pattern dom_aNUD stage_aNUE) (Ann Type dom_aNUD stage_aNUE) (Ann Type dom_aNUD stage_aNUE)
+ Language.Haskell.Tools.AST.References: phaseNum :: forall dom_aKA9 stage_aKAa. Lens (PhaseNumber dom_aKA9 stage_aKAa) (PhaseNumber dom_aKA9 stage_aKAa) Integer Integer
+ Language.Haskell.Tools.AST.References: phaseNumber :: forall dom_aKAb stage_aKAc. Lens (PhaseControl dom_aKAb stage_aKAc) (PhaseControl dom_aKAb stage_aKAc) (Ann PhaseNumber dom_aKAb stage_aKAc) (Ann PhaseNumber dom_aKAb stage_aKAc)
+ Language.Haskell.Tools.AST.References: phaseUntil :: forall dom_aKAb stage_aKAc. Lens (PhaseControl dom_aKAb stage_aKAc) (PhaseControl dom_aKAb stage_aKAc) (AnnMaybe PhaseInvert dom_aKAb stage_aKAc) (AnnMaybe PhaseInvert dom_aKAb stage_aKAc)
+ Language.Haskell.Tools.AST.References: pragmaConlike :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (AnnMaybe ConlikeAnnot dom_aSpX stage_aSpY) (AnnMaybe ConlikeAnnot dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaFileName :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (AnnMaybe StringNode dom_aSpX stage_aSpY) (AnnMaybe StringNode dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaFormula :: forall dom_aUp8 stage_aUp9. Partial (ClassElement dom_aUp8 stage_aUp9) (ClassElement dom_aUp8 stage_aUp9) (Ann MinimalFormula dom_aUp8 stage_aUp9) (Ann MinimalFormula dom_aUp8 stage_aUp9)
+ Language.Haskell.Tools.AST.References: pragmaLineNum :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann LineNumber dom_aSpX stage_aSpY) (Ann LineNumber dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaMessage :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann StringNode dom_aSpX stage_aSpY) (Ann StringNode dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaObjects :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (AnnList Name dom_aSpX stage_aSpY) (AnnList Name dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaPhase :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (AnnMaybe PhaseControl dom_aSpX stage_aSpY) (AnnMaybe PhaseControl dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaRule :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (AnnList Rule dom_aSpX stage_aSpY) (AnnList Rule dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: pragmaSrcRange :: forall dom_aPfy stage_aPfz. Partial (ExprPragma dom_aPfy stage_aPfz) (ExprPragma dom_aPfy stage_aPfz) (Ann SourceRange dom_aPfy stage_aPfz) (Ann SourceRange dom_aPfy stage_aPfz)
+ Language.Haskell.Tools.AST.References: pragmaStr :: forall dom_aPfy stage_aPfz. Partial (ExprPragma dom_aPfy stage_aPfz) (ExprPragma dom_aPfy stage_aPfz) (Ann StringNode dom_aPfy stage_aPfz) (Ann StringNode dom_aPfy stage_aPfz)
+ Language.Haskell.Tools.AST.References: precedenceValue :: forall dom_aKAf stage_aKAg. Lens (Precedence dom_aKAf stage_aKAg) (Precedence dom_aKAf stage_aKAg) Int Int
+ Language.Haskell.Tools.AST.References: procExpr :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Cmd dom_aPfP stage_aPfQ) (Ann Cmd dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: procPattern :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Pattern dom_aPfP stage_aPfQ) (Ann Pattern dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: promotedConName :: forall t_aM2p dom_aM2q stage_aM2r. Partial (Promoted t_aM2p dom_aM2q stage_aM2r) (Promoted t_aM2p dom_aM2q stage_aM2r) (Ann Name dom_aM2q stage_aM2r) (Ann Name dom_aM2q stage_aM2r)
+ Language.Haskell.Tools.AST.References: promotedElements :: forall t_aM2p dom_aM2q stage_aM2r t'_a5bwZ. Partial (Promoted t_aM2p dom_aM2q stage_aM2r) (Promoted t'_a5bwZ dom_aM2q stage_aM2r) (AnnList t_aM2p dom_aM2q stage_aM2r) (AnnList t'_a5bwZ dom_aM2q stage_aM2r)
+ Language.Haskell.Tools.AST.References: promotedIntValue :: forall t_aM2p dom_aM2q stage_aM2r. Partial (Promoted t_aM2p dom_aM2q stage_aM2r) (Promoted t_aM2p dom_aM2q stage_aM2r) Integer Integer
+ Language.Haskell.Tools.AST.References: promotedStringValue :: forall t_aM2p dom_aM2q stage_aM2r. Partial (Promoted t_aM2p dom_aM2q stage_aM2r) (Promoted t_aM2p dom_aM2q stage_aM2r) String String
+ Language.Haskell.Tools.AST.References: qqExprBody :: forall dom_aZC0 stage_aZC1. Lens (QuasiQuote dom_aZC0 stage_aZC1) (QuasiQuote dom_aZC0 stage_aZC1) (Ann QQString dom_aZC0 stage_aZC1) (Ann QQString dom_aZC0 stage_aZC1)
+ Language.Haskell.Tools.AST.References: qqExprName :: forall dom_aZC0 stage_aZC1. Lens (QuasiQuote dom_aZC0 stage_aZC1) (QuasiQuote dom_aZC0 stage_aZC1) (Ann Name dom_aZC0 stage_aZC1) (Ann Name dom_aZC0 stage_aZC1)
+ Language.Haskell.Tools.AST.References: qqString :: forall dom_aZBY stage_aZBZ. Lens (QQString dom_aZBY stage_aZBZ) (QQString dom_aZBY stage_aZBZ) String String
+ Language.Haskell.Tools.AST.References: qualifiers :: forall dom_aKAH stage_aKAI. Lens (QualifiedName dom_aKAH stage_aKAI) (QualifiedName dom_aKAH stage_aKAI) (AnnList UnqualName dom_aKAH stage_aKAI) (AnnList UnqualName dom_aKAH stage_aKAI)
+ Language.Haskell.Tools.AST.References: quotedName :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (Ann Name dom_aPfP stage_aPfQ) (Ann Name dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: rhsCaseExpr :: forall expr_aPfD dom_aPfE stage_aPfF. Partial (CaseRhs' expr_aPfD dom_aPfE stage_aPfF) (CaseRhs' expr_aPfD dom_aPfE stage_aPfF) (Ann expr_aPfD dom_aPfE stage_aPfF) (Ann expr_aPfD dom_aPfE stage_aPfF)
+ Language.Haskell.Tools.AST.References: rhsCaseGuards :: forall expr_aPfD dom_aPfE stage_aPfF. Partial (CaseRhs' expr_aPfD dom_aPfE stage_aPfF) (CaseRhs' expr_aPfD dom_aPfE stage_aPfF) (AnnList (GuardedCaseRhs' expr_aPfD) dom_aPfE stage_aPfF) (AnnList (GuardedCaseRhs' expr_aPfD) dom_aPfE stage_aPfF)
+ Language.Haskell.Tools.AST.References: rhsExpr :: forall dom_aSq3 stage_aSq4. Partial (Rhs dom_aSq3 stage_aSq4) (Rhs dom_aSq3 stage_aSq4) (Ann Expr dom_aSq3 stage_aSq4) (Ann Expr dom_aSq3 stage_aSq4)
+ Language.Haskell.Tools.AST.References: rhsGuards :: forall dom_aSq3 stage_aSq4. Partial (Rhs dom_aSq3 stage_aSq4) (Rhs dom_aSq3 stage_aSq4) (AnnList GuardedRhs dom_aSq3 stage_aSq4) (AnnList GuardedRhs dom_aSq3 stage_aSq4)
+ Language.Haskell.Tools.AST.References: ruleBounded :: forall dom_aSpV stage_aSpW. Lens (Rule dom_aSpV stage_aSpW) (Rule dom_aSpV stage_aSpW) (AnnList TyVar dom_aSpV stage_aSpW) (AnnList TyVar dom_aSpV stage_aSpW)
+ Language.Haskell.Tools.AST.References: ruleLhs :: forall dom_aSpV stage_aSpW. Lens (Rule dom_aSpV stage_aSpW) (Rule dom_aSpV stage_aSpW) (Ann Expr dom_aSpV stage_aSpW) (Ann Expr dom_aSpV stage_aSpW)
+ Language.Haskell.Tools.AST.References: ruleName :: forall dom_aSpV stage_aSpW. Lens (Rule dom_aSpV stage_aSpW) (Rule dom_aSpV stage_aSpW) (Ann StringNode dom_aSpV stage_aSpW) (Ann StringNode dom_aSpV stage_aSpW)
+ Language.Haskell.Tools.AST.References: rulePhase :: forall dom_aSpV stage_aSpW. Lens (Rule dom_aSpV stage_aSpW) (Rule dom_aSpV stage_aSpW) (AnnMaybe PhaseControl dom_aSpV stage_aSpW) (AnnMaybe PhaseControl dom_aSpV stage_aSpW)
+ Language.Haskell.Tools.AST.References: ruleRhs :: forall dom_aSpV stage_aSpW. Lens (Rule dom_aSpV stage_aSpW) (Rule dom_aSpV stage_aSpW) (Ann Expr dom_aSpV stage_aSpW) (Ann Expr dom_aSpV stage_aSpW)
+ Language.Haskell.Tools.AST.References: simpleName :: forall dom_aKAJ stage_aKAK dom'_a5bG5 stage'_a5bG6. Lens (Name dom_aKAJ stage_aKAK) (Name dom'_a5bG5 stage'_a5bG6) (Ann QualifiedName dom_aKAJ stage_aKAK) (Ann QualifiedName dom'_a5bG5 stage'_a5bG6)
+ Language.Haskell.Tools.AST.References: simpleNameStr :: forall dom_aKAF stage_aKAG. Lens (UnqualName dom_aKAF stage_aKAG) (UnqualName dom_aKAF stage_aKAG) String String
+ Language.Haskell.Tools.AST.References: specializeDef :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY) (Ann Name dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: specializeInstanceType :: forall dom_aUp2 stage_aUp3. Partial (InstBodyDecl dom_aUp2 stage_aUp3) (InstBodyDecl dom_aUp2 stage_aUp3) (Ann Type dom_aUp2 stage_aUp3) (Ann Type dom_aUp2 stage_aUp3)
+ Language.Haskell.Tools.AST.References: specializeType :: forall dom_aSpX stage_aSpY. Partial (TopLevelPragma dom_aSpX stage_aSpY) (TopLevelPragma dom_aSpX stage_aSpY) (AnnList Type dom_aSpX stage_aSpY) (AnnList Type dom_aSpX stage_aSpY)
+ Language.Haskell.Tools.AST.References: spliceExpr :: forall dom_aZC2 stage_aZC3. Partial (Splice dom_aZC2 stage_aZC3) (Splice dom_aZC2 stage_aZC3) (Ann Expr dom_aZC2 stage_aZC3) (Ann Expr dom_aZC2 stage_aZC3)
+ Language.Haskell.Tools.AST.References: spliceId :: forall dom_aZC2 stage_aZC3. Partial (Splice dom_aZC2 stage_aZC3) (Splice dom_aZC2 stage_aZC3) (Ann Name dom_aZC2 stage_aZC3) (Ann Name dom_aZC2 stage_aZC3)
+ Language.Haskell.Tools.AST.References: srFileName :: forall dom_aPfw stage_aPfx. Lens (SourceRange dom_aPfw stage_aPfx) (SourceRange dom_aPfw stage_aPfx) (Ann StringNode dom_aPfw stage_aPfx) (Ann StringNode dom_aPfw stage_aPfx)
+ Language.Haskell.Tools.AST.References: srFromCol :: forall dom_aPfw stage_aPfx. Lens (SourceRange dom_aPfw stage_aPfx) (SourceRange dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx)
+ Language.Haskell.Tools.AST.References: srFromLine :: forall dom_aPfw stage_aPfx. Lens (SourceRange dom_aPfw stage_aPfx) (SourceRange dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx)
+ Language.Haskell.Tools.AST.References: srToCol :: forall dom_aPfw stage_aPfx. Lens (SourceRange dom_aPfw stage_aPfx) (SourceRange dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx)
+ Language.Haskell.Tools.AST.References: srToLine :: forall dom_aPfw stage_aPfx. Lens (SourceRange dom_aPfw stage_aPfx) (SourceRange dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx) (Ann Number dom_aPfw stage_aPfx)
+ Language.Haskell.Tools.AST.References: stmtBinds :: forall expr_aOOD dom_aOOE stage_aOOF. Partial (Stmt' expr_aOOD dom_aOOE stage_aOOF) (Stmt' expr_aOOD dom_aOOE stage_aOOF) (AnnList LocalBind dom_aOOE stage_aOOF) (AnnList LocalBind dom_aOOE stage_aOOF)
+ Language.Haskell.Tools.AST.References: stmtExpr :: forall expr_aOOD dom_aOOE stage_aOOF. Partial (Stmt' expr_aOOD dom_aOOE stage_aOOF) (Stmt' expr_aOOD dom_aOOE stage_aOOF) (Ann expr_aOOD dom_aOOE stage_aOOF) (Ann expr_aOOD dom_aOOE stage_aOOF)
+ Language.Haskell.Tools.AST.References: stmtPattern :: forall expr_aOOD dom_aOOE stage_aOOF. Partial (Stmt' expr_aOOD dom_aOOE stage_aOOF) (Stmt' expr_aOOD dom_aOOE stage_aOOF) (Ann Pattern dom_aOOE stage_aOOF) (Ann Pattern dom_aOOE stage_aOOF)
+ Language.Haskell.Tools.AST.References: stringLitValue :: forall dom_aLGs stage_aLGt. Partial (Literal dom_aLGs stage_aLGt) (Literal dom_aLGs stage_aLGt) String String
+ Language.Haskell.Tools.AST.References: stringNodeStr :: forall dom_aKAD stage_aKAE. Lens (StringNode dom_aKAD stage_aKAE) (StringNode dom_aKAD stage_aKAE) String String
+ Language.Haskell.Tools.AST.References: teLhs :: forall dom_aUoI stage_aUoJ. Lens (TypeEqn dom_aUoI stage_aUoJ) (TypeEqn dom_aUoI stage_aUoJ) (Ann Type dom_aUoI stage_aUoJ) (Ann Type dom_aUoI stage_aUoJ)
+ Language.Haskell.Tools.AST.References: teRhs :: forall dom_aUoI stage_aUoJ. Lens (TypeEqn dom_aUoI stage_aUoJ) (TypeEqn dom_aUoI stage_aUoJ) (Ann Type dom_aUoI stage_aUoJ) (Ann Type dom_aUoI stage_aUoJ)
+ Language.Haskell.Tools.AST.References: tfHead :: forall dom_aUpg stage_aUph. Lens (TypeFamily dom_aUpg stage_aUph) (TypeFamily dom_aUpg stage_aUph) (Ann DeclHead dom_aUpg stage_aUph) (Ann DeclHead dom_aUpg stage_aUph)
+ Language.Haskell.Tools.AST.References: tfInjectivity :: forall dom_aUpe stage_aUpf. Partial (TypeFamilySpec dom_aUpe stage_aUpf) (TypeFamilySpec dom_aUpe stage_aUpf) (Ann InjectivityAnn dom_aUpe stage_aUpf) (Ann InjectivityAnn dom_aUpe stage_aUpf)
+ Language.Haskell.Tools.AST.References: tfKind :: forall dom_aUpg stage_aUph. Partial (TypeFamily dom_aUpg stage_aUph) (TypeFamily dom_aUpg stage_aUph) (AnnMaybe KindConstraint dom_aUpg stage_aUph) (AnnMaybe KindConstraint dom_aUpg stage_aUph)
+ Language.Haskell.Tools.AST.References: tfSpec :: forall dom_aUpg stage_aUph. Partial (TypeFamily dom_aUpg stage_aUph) (TypeFamily dom_aUpg stage_aUph) (AnnMaybe TypeFamilySpec dom_aUpg stage_aUph) (AnnMaybe TypeFamilySpec dom_aUpg stage_aUph)
+ Language.Haskell.Tools.AST.References: tfSpecKind :: forall dom_aUpe stage_aUpf. Partial (TypeFamilySpec dom_aUpe stage_aUpf) (TypeFamilySpec dom_aUpe stage_aUpf) (Ann KindConstraint dom_aUpe stage_aUpf) (Ann KindConstraint dom_aUpe stage_aUpf)
+ Language.Haskell.Tools.AST.References: thenExpr :: forall dom_aOOz stage_aOOA. Partial (CompStmt dom_aOOz stage_aOOA) (CompStmt dom_aOOz stage_aOOA) (Ann Expr dom_aOOz stage_aOOA) (Ann Expr dom_aOOz stage_aOOA)
+ Language.Haskell.Tools.AST.References: tpPromoted :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann (Promoted Type) dom_aMDI stage_aMDJ) (Ann (Promoted Type) dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: tsName :: forall dom_aSq7 stage_aSq8. Lens (TypeSignature dom_aSq7 stage_aSq8) (TypeSignature dom_aSq7 stage_aSq8) (AnnList Name dom_aSq7 stage_aSq8) (AnnList Name dom_aSq7 stage_aSq8)
+ Language.Haskell.Tools.AST.References: tsSplice :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Splice dom_aMDI stage_aMDJ) (Splice dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: tsType :: forall dom_aSq7 stage_aSq8. Lens (TypeSignature dom_aSq7 stage_aSq8) (TypeSignature dom_aSq7 stage_aSq8) (Ann Type dom_aSq7 stage_aSq8) (Ann Type dom_aSq7 stage_aSq8)
+ Language.Haskell.Tools.AST.References: tupSecExpr :: forall dom_aPfJ stage_aPfK dom'_a5aIB stage'_a5aIC. Partial (TupSecElem dom_aPfJ stage_aPfK) (TupSecElem dom'_a5aIB stage'_a5aIC) (Ann Expr dom_aPfJ stage_aPfK) (Ann Expr dom'_a5aIB stage'_a5aIC)
+ Language.Haskell.Tools.AST.References: tupleElems :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList Expr dom_aPfP stage_aPfQ) (AnnList Expr dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: tupleSectionElems :: forall dom_aPfP stage_aPfQ. Partial (Expr dom_aPfP stage_aPfQ) (Expr dom_aPfP stage_aPfQ) (AnnList TupSecElem dom_aPfP stage_aPfQ) (AnnList TupSecElem dom_aPfP stage_aPfQ)
+ Language.Haskell.Tools.AST.References: tyVarKind :: forall dom_aMDK stage_aMDL. Lens (TyVar dom_aMDK stage_aMDL) (TyVar dom_aMDK stage_aMDL) (AnnMaybe KindConstraint dom_aMDK stage_aMDL) (AnnMaybe KindConstraint dom_aMDK stage_aMDL)
+ Language.Haskell.Tools.AST.References: tyVarName :: forall dom_aMDK stage_aMDL. Lens (TyVar dom_aMDK stage_aMDL) (TyVar dom_aMDK stage_aMDL) (Ann Name dom_aMDK stage_aMDL) (Ann Name dom_aMDK stage_aMDL)
+ Language.Haskell.Tools.AST.References: typeArg :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeBounded :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (AnnList TyVar dom_aMDI stage_aMDJ) (AnnList TyVar dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeCon :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeCtx :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Context dom_aMDI stage_aMDJ) (Ann Context dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeElement :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeElements :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (AnnList Type dom_aMDI stage_aMDJ) (AnnList Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeInner :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeKind :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Kind dom_aMDI stage_aMDJ) (Ann Kind dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeLeft :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeName :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Name dom_aMDI stage_aMDJ) (Ann Name dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeOperator :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Operator dom_aMDI stage_aMDJ) (Ann Operator dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeParam :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeQQ :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (QuasiQuote dom_aMDI stage_aMDJ) (QuasiQuote dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeResult :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeRight :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeType :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ) (Ann Type dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: typeWildcardName :: forall dom_aMDI stage_aMDJ. Partial (Type dom_aMDI stage_aMDJ) (Type dom_aMDI stage_aMDJ) (Ann Name dom_aMDI stage_aMDJ) (Ann Name dom_aMDI stage_aMDJ)
+ Language.Haskell.Tools.AST.References: unqualifiedName :: forall dom_aKAH stage_aKAI. Lens (QualifiedName dom_aKAH stage_aKAI) (QualifiedName dom_aKAH stage_aKAI) (Ann UnqualName dom_aKAH stage_aKAI) (Ann UnqualName dom_aKAH stage_aKAI)
+ Language.Haskell.Tools.AST.References: usingExpr :: forall dom_aOOz stage_aOOA. Partial (CompStmt dom_aOOz stage_aOOA) (CompStmt dom_aOOz stage_aOOA) (AnnMaybe Expr dom_aOOz stage_aOOA) (AnnMaybe Expr dom_aOOz stage_aOOA)
+ Language.Haskell.Tools.AST.References: valBindLocals :: forall dom_aSqh stage_aSqi. Partial (ValueBind dom_aSqh stage_aSqi) (ValueBind dom_aSqh stage_aSqi) (AnnMaybe LocalBinds dom_aSqh stage_aSqi) (AnnMaybe LocalBinds dom_aSqh stage_aSqi)
+ Language.Haskell.Tools.AST.References: valBindPat :: forall dom_aSqh stage_aSqi. Partial (ValueBind dom_aSqh stage_aSqi) (ValueBind dom_aSqh stage_aSqi) (Ann Pattern dom_aSqh stage_aSqi) (Ann Pattern dom_aSqh stage_aSqi)
+ Language.Haskell.Tools.AST.References: valBindRhs :: forall dom_aSqh stage_aSqi. Partial (ValueBind dom_aSqh stage_aSqi) (ValueBind dom_aSqh stage_aSqi) (Ann Rhs dom_aSqh stage_aSqi) (Ann Rhs dom_aSqh stage_aSqi)
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasDefiningInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasFixityInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasIdInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasImplicitFieldsInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasImportInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasModuleInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasNameInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: class HasScopeInfo' si
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasDefiningInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.NameInfo n)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasDefiningInfo' Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasFixityInfo' Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasIdInfo' Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasImplicitFieldsInfo' Language.Haskell.Tools.AST.SemaInfoTypes.ImplicitFieldInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasImportInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.ImportInfo Name.Name)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasImportInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.ImportInfo Var.Id)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasModuleInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.ModuleInfo Name.Name)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasModuleInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.ModuleInfo Var.Id)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasNameInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.NameInfo Name.Name)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasNameInfo' Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasScopeInfo' (Language.Haskell.Tools.AST.SemaInfoTypes.NameInfo n)
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasScopeInfo' Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: instance Language.Haskell.Tools.AST.SemaInfoClasses.HasScopeInfo' Language.Haskell.Tools.AST.SemaInfoTypes.ScopeInfo
+ Language.Haskell.Tools.AST.SemaInfoClasses: isBootModule :: HasModuleInfo' si => si -> Bool
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsAvailable :: HasImportInfo' si => si -> [Name]
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsDefining :: HasDefiningInfo' si => si -> Bool
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsFixity :: HasFixityInfo' si => si -> Maybe Fixity
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsId :: HasIdInfo' si => si -> Id
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsImplicitFlds :: HasImplicitFieldsInfo' si => si -> [(Name, Name)]
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsImplicitImports :: HasModuleInfo' si => si -> [Name]
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsImported :: HasImportInfo' si => si -> [Name]
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsImportedModule :: HasImportInfo' si => si -> Module
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsModule :: HasModuleInfo' si => si -> Module
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsName :: HasNameInfo' si => si -> Maybe Name
+ Language.Haskell.Tools.AST.SemaInfoClasses: semanticsScope :: HasScopeInfo' si => si -> Scope
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasDefiningInfo dom = (Domain dom, HasDefiningInfo' (SemanticInfo dom QualifiedName))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasFixityInfo dom = (Domain dom, HasFixityInfo' (SemanticInfo dom QualifiedName))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasIdInfo dom = (Domain dom, HasIdInfo' (SemanticInfo dom QualifiedName))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasImplicitFieldsInfo dom = (Domain dom, HasImplicitFieldsInfo' (SemanticInfo dom FieldWildcard))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasImportInfo dom = (Domain dom, HasImportInfo' (SemanticInfo dom ImportDecl))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasModuleInfo dom = (Domain dom, HasModuleInfo' (SemanticInfo dom Module))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasNameInfo dom = (Domain dom, HasNameInfo' (SemanticInfo dom QualifiedName))
+ Language.Haskell.Tools.AST.SemaInfoClasses: type HasScopeInfo dom = (Domain dom, HasScopeInfo' (SemanticInfo dom QualifiedName), HasScopeInfo' (SemanticInfo dom Expr))
+ Language.Haskell.Tools.AST.SemaInfoTypes: AmbiguousNameInfo :: Scope -> Bool -> RdrName -> SrcSpan -> NameInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: CNameInfo :: Scope -> Bool -> Id -> Maybe Fixity -> CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: ImplicitFieldInfo :: [(Name, Name)] -> ImplicitFieldInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: ImplicitNameInfo :: Scope -> Bool -> String -> SrcSpan -> NameInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: ImportInfo :: Module -> [n] -> [n] -> ImportInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: ModuleInfo :: Module -> Bool -> [n] -> ModuleInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: NameInfo :: Scope -> Bool -> n -> NameInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: NoSemanticInfo :: NoSemanticInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: NodeInfo :: sema -> src -> NodeInfo sema src
+ Language.Haskell.Tools.AST.SemaInfoTypes: ScopeInfo :: Scope -> ScopeInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_ambiguousLocation] :: NameInfo n -> SrcSpan
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_ambiguousName] :: NameInfo n -> RdrName
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_availableNames] :: ImportInfo n -> [n]
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_cnameFixity] :: CNameInfo -> Maybe Fixity
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_cnameInfo] :: CNameInfo -> Id
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_cnameIsDefined] :: CNameInfo -> Bool
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_cnameScopedLocals] :: CNameInfo -> Scope
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_defIsBootModule] :: ModuleInfo n -> Bool
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_defModuleName] :: ModuleInfo n -> Module
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_exprScopedLocals] :: ScopeInfo -> Scope
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_implicitFieldBindings] :: ImplicitFieldInfo -> [(Name, Name)]
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_implicitLocation] :: NameInfo n -> SrcSpan
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_implicitName] :: NameInfo n -> String
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_implicitNames] :: ModuleInfo n -> [n]
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_importedModule] :: ImportInfo n -> Module
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_importedNames] :: ImportInfo n -> [n]
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_nameInfo] :: NameInfo n -> n
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_nameIsDefined] :: NameInfo n -> Bool
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_nameScopedLocals] :: NameInfo n -> Scope
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_semanticInfo] :: NodeInfo sema src -> sema
+ Language.Haskell.Tools.AST.SemaInfoTypes: [_sourceInfo] :: NodeInfo sema src -> src
+ Language.Haskell.Tools.AST.SemaInfoTypes: ambiguousLocation :: forall n_amI0. Partial (NameInfo n_amI0) (NameInfo n_amI0) SrcSpan SrcSpan
+ Language.Haskell.Tools.AST.SemaInfoTypes: ambiguousName :: forall n_amI0. Partial (NameInfo n_amI0) (NameInfo n_amI0) RdrName RdrName
+ Language.Haskell.Tools.AST.SemaInfoTypes: availableNames :: forall n_amEh. Lens (ImportInfo n_amEh) (ImportInfo n_amEh) [n_amEh] [n_amEh]
+ Language.Haskell.Tools.AST.SemaInfoTypes: cnameFixity :: Lens CNameInfo CNameInfo (Maybe Fixity) (Maybe Fixity)
+ Language.Haskell.Tools.AST.SemaInfoTypes: cnameInfo :: Lens CNameInfo CNameInfo Id Id
+ Language.Haskell.Tools.AST.SemaInfoTypes: cnameIsDefined :: Lens CNameInfo CNameInfo Bool Bool
+ Language.Haskell.Tools.AST.SemaInfoTypes: cnameScopedLocals :: Lens CNameInfo CNameInfo Scope Scope
+ Language.Haskell.Tools.AST.SemaInfoTypes: data CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: data ImplicitFieldInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: data ImportInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: data ModuleInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: data NameInfo n
+ Language.Haskell.Tools.AST.SemaInfoTypes: data NoSemanticInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: data NodeInfo sema src
+ Language.Haskell.Tools.AST.SemaInfoTypes: data ScopeInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: defIsBootModule :: forall n_amEi. Lens (ModuleInfo n_amEi) (ModuleInfo n_amEi) Bool Bool
+ Language.Haskell.Tools.AST.SemaInfoTypes: defModuleName :: forall n_amEi. Lens (ModuleInfo n_amEi) (ModuleInfo n_amEi) Module Module
+ Language.Haskell.Tools.AST.SemaInfoTypes: exprScopedLocals :: Lens ScopeInfo ScopeInfo Scope Scope
+ Language.Haskell.Tools.AST.SemaInfoTypes: implicitFieldBindings :: Lens ImplicitFieldInfo ImplicitFieldInfo [(Name, Name)] [(Name, Name)]
+ Language.Haskell.Tools.AST.SemaInfoTypes: implicitLocation :: forall n_amI0. Partial (NameInfo n_amI0) (NameInfo n_amI0) SrcSpan SrcSpan
+ Language.Haskell.Tools.AST.SemaInfoTypes: implicitName :: forall n_amI0. Partial (NameInfo n_amI0) (NameInfo n_amI0) String String
+ Language.Haskell.Tools.AST.SemaInfoTypes: implicitNames :: forall n_amEi n'_aoHT. Lens (ModuleInfo n_amEi) (ModuleInfo n'_aoHT) [n_amEi] [n'_aoHT]
+ Language.Haskell.Tools.AST.SemaInfoTypes: importedModule :: forall n_amEh. Lens (ImportInfo n_amEh) (ImportInfo n_amEh) Module Module
+ Language.Haskell.Tools.AST.SemaInfoTypes: importedNames :: forall n_amEh. Lens (ImportInfo n_amEh) (ImportInfo n_amEh) [n_amEh] [n_amEh]
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance (Data.Data.Data sema, Data.Data.Data src) => Data.Data.Data (Language.Haskell.Tools.AST.SemaInfoTypes.NodeInfo sema src)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance (GHC.Classes.Eq sema, GHC.Classes.Eq src) => GHC.Classes.Eq (Language.Haskell.Tools.AST.SemaInfoTypes.NodeInfo sema src)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance (GHC.Show.Show sema, GHC.Show.Show src) => GHC.Show.Show (Language.Haskell.Tools.AST.SemaInfoTypes.NodeInfo sema src)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data Language.Haskell.Tools.AST.SemaInfoTypes.ImplicitFieldInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data Language.Haskell.Tools.AST.SemaInfoTypes.NoSemanticInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data Language.Haskell.Tools.AST.SemaInfoTypes.ScopeInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data n => Data.Data.Data (Language.Haskell.Tools.AST.SemaInfoTypes.ImportInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data n => Data.Data.Data (Language.Haskell.Tools.AST.SemaInfoTypes.ModuleInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Data.Data.Data n => Data.Data.Data (Language.Haskell.Tools.AST.SemaInfoTypes.NameInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq Language.Haskell.Tools.AST.SemaInfoTypes.ImplicitFieldInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq Language.Haskell.Tools.AST.SemaInfoTypes.NoSemanticInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq Language.Haskell.Tools.AST.SemaInfoTypes.ScopeInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq n => GHC.Classes.Eq (Language.Haskell.Tools.AST.SemaInfoTypes.ImportInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq n => GHC.Classes.Eq (Language.Haskell.Tools.AST.SemaInfoTypes.ModuleInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Classes.Eq n => GHC.Classes.Eq (Language.Haskell.Tools.AST.SemaInfoTypes.NameInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Show.Show Language.Haskell.Tools.AST.SemaInfoTypes.CNameInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Show.Show Language.Haskell.Tools.AST.SemaInfoTypes.ImplicitFieldInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Show.Show Language.Haskell.Tools.AST.SemaInfoTypes.NoSemanticInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance GHC.Show.Show Language.Haskell.Tools.AST.SemaInfoTypes.ScopeInfo
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Outputable.Outputable n => GHC.Show.Show (Language.Haskell.Tools.AST.SemaInfoTypes.ImportInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Outputable.Outputable n => GHC.Show.Show (Language.Haskell.Tools.AST.SemaInfoTypes.ModuleInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: instance Outputable.Outputable n => GHC.Show.Show (Language.Haskell.Tools.AST.SemaInfoTypes.NameInfo n)
+ Language.Haskell.Tools.AST.SemaInfoTypes: nameInfo :: forall n_amI0 n'_aou4. Partial (NameInfo n_amI0) (NameInfo n'_aou4) n_amI0 n'_aou4
+ Language.Haskell.Tools.AST.SemaInfoTypes: nameIsDefined :: forall n_amI0. Lens (NameInfo n_amI0) (NameInfo n_amI0) Bool Bool
+ Language.Haskell.Tools.AST.SemaInfoTypes: nameScopedLocals :: forall n_amI0. Lens (NameInfo n_amI0) (NameInfo n_amI0) Scope Scope
+ Language.Haskell.Tools.AST.SemaInfoTypes: semanticInfo :: forall sema_aoMI src_aoMJ sema'_aoST. Lens (NodeInfo sema_aoMI src_aoMJ) (NodeInfo sema'_aoST src_aoMJ) sema_aoMI sema'_aoST
+ Language.Haskell.Tools.AST.SemaInfoTypes: sourceInfo :: forall sema_aoMI src_aoMJ src'_aoSW. Lens (NodeInfo sema_aoMI src_aoMJ) (NodeInfo sema_aoMI src'_aoSW) src_aoMJ src'_aoSW
+ Language.Haskell.Tools.AST.SemaInfoTypes: type Scope = [[Name]]
+ Language.Haskell.Tools.AST.Stmts: BindStmt :: Ann Pattern dom stage -> Ann expr dom stage -> Stmt' expr dom stage
+ Language.Haskell.Tools.AST.Stmts: CompStmt :: Ann Stmt dom stage -> CompStmt dom stage
+ Language.Haskell.Tools.AST.Stmts: ExprStmt :: Ann expr dom stage -> Stmt' expr dom stage
+ Language.Haskell.Tools.AST.Stmts: GroupStmt :: AnnMaybe Expr dom stage -> AnnMaybe Expr dom stage -> CompStmt dom stage
+ Language.Haskell.Tools.AST.Stmts: LetStmt :: AnnList LocalBind dom stage -> Stmt' expr dom stage
+ Language.Haskell.Tools.AST.Stmts: ListCompBody :: AnnList CompStmt dom stage -> ListCompBody dom stage
+ Language.Haskell.Tools.AST.Stmts: RecStmt :: AnnList (Stmt' expr) dom stage -> Stmt' expr dom stage
+ Language.Haskell.Tools.AST.Stmts: ThenStmt :: Ann Expr dom stage -> AnnMaybe Expr dom stage -> CompStmt dom stage
+ Language.Haskell.Tools.AST.Stmts: [_byExpr] :: CompStmt dom stage -> AnnMaybe Expr dom stage
+ Language.Haskell.Tools.AST.Stmts: [_cmdStmtBinds] :: Stmt' expr dom stage -> AnnList (Stmt' expr) dom stage
+ Language.Haskell.Tools.AST.Stmts: [_compStmt] :: CompStmt dom stage -> Ann Stmt dom stage
+ Language.Haskell.Tools.AST.Stmts: [_compStmts] :: ListCompBody dom stage -> AnnList CompStmt dom stage
+ Language.Haskell.Tools.AST.Stmts: [_stmtBinds] :: Stmt' expr dom stage -> AnnList LocalBind dom stage
+ Language.Haskell.Tools.AST.Stmts: [_stmtExpr] :: Stmt' expr dom stage -> Ann expr dom stage
+ Language.Haskell.Tools.AST.Stmts: [_stmtPattern] :: Stmt' expr dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.Stmts: [_thenExpr] :: CompStmt dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.Stmts: [_usingExpr] :: CompStmt dom stage -> AnnMaybe Expr dom stage
+ Language.Haskell.Tools.AST.Stmts: data CompStmt dom stage
+ Language.Haskell.Tools.AST.Stmts: data ListCompBody dom stage
+ Language.Haskell.Tools.AST.Stmts: data Stmt' expr dom stage
+ Language.Haskell.Tools.AST.Stmts: type Stmt = Stmt' Expr
+ Language.Haskell.Tools.AST.TH: DeclsBracket :: AnnList Decl dom stage -> Bracket dom stage
+ Language.Haskell.Tools.AST.TH: ExprBracket :: Ann Expr dom stage -> Bracket dom stage
+ Language.Haskell.Tools.AST.TH: IdSplice :: Ann Name dom stage -> Splice dom stage
+ Language.Haskell.Tools.AST.TH: ParenSplice :: Ann Expr dom stage -> Splice dom stage
+ Language.Haskell.Tools.AST.TH: PatternBracket :: Ann Pattern dom stage -> Bracket dom stage
+ Language.Haskell.Tools.AST.TH: QQString :: String -> QQString dom stage
+ Language.Haskell.Tools.AST.TH: QuasiQuote :: Ann Name dom stage -> Ann QQString dom stage -> QuasiQuote dom stage
+ Language.Haskell.Tools.AST.TH: TypeBracket :: Ann Type dom stage -> Bracket dom stage
+ Language.Haskell.Tools.AST.TH: [_bracketDecl] :: Bracket dom stage -> AnnList Decl dom stage
+ Language.Haskell.Tools.AST.TH: [_bracketExpr] :: Bracket dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.TH: [_bracketPattern] :: Bracket dom stage -> Ann Pattern dom stage
+ Language.Haskell.Tools.AST.TH: [_bracketType] :: Bracket dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.TH: [_qqExprBody] :: QuasiQuote dom stage -> Ann QQString dom stage
+ Language.Haskell.Tools.AST.TH: [_qqExprName] :: QuasiQuote dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.TH: [_qqString] :: QQString dom stage -> String
+ Language.Haskell.Tools.AST.TH: [_spliceExpr] :: Splice dom stage -> Ann Expr dom stage
+ Language.Haskell.Tools.AST.TH: [_spliceId] :: Splice dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.TH: data Bracket dom stage
+ Language.Haskell.Tools.AST.TH: data QQString dom stage
+ Language.Haskell.Tools.AST.TH: data QuasiQuote dom stage
+ Language.Haskell.Tools.AST.TH: data Splice dom stage
+ Language.Haskell.Tools.AST.TH.SemanticTraversal: createInstance :: Name -> [TyVarBndr] -> [Con] -> Q [Dec]
+ Language.Haskell.Tools.AST.TH.SemanticTraversal: deriveSemanticTraversal :: Name -> Q [Dec]
+ Language.Haskell.Tools.AST.TH.SemanticTraversal: thExamine :: Q [Dec] -> Q [Dec]
+ Language.Haskell.Tools.AST.TH.SourceInfoTraversal: createInstance :: Name -> [TyVarBndr] -> [Con] -> Q [Dec]
+ Language.Haskell.Tools.AST.TH.SourceInfoTraversal: deriveSourceInfoTraversal :: Name -> Q [Dec]
+ Language.Haskell.Tools.AST.TH.SourceInfoTraversal: thExamine :: Q [Dec] -> Q [Dec]
+ Language.Haskell.Tools.AST.Types: ClassAssert :: Ann Name dom stage -> AnnList Type dom stage -> Assertion dom stage
+ Language.Haskell.Tools.AST.Types: ContextMulti :: AnnList Assertion dom stage -> Context dom stage
+ Language.Haskell.Tools.AST.Types: ContextOne :: Ann Assertion dom stage -> Context dom stage
+ Language.Haskell.Tools.AST.Types: ImplicitAssert :: Ann Name dom stage -> Ann Type dom stage -> Assertion dom stage
+ Language.Haskell.Tools.AST.Types: InfixAssert :: Ann Type dom stage -> Ann Operator dom stage -> Ann Type dom stage -> Assertion dom stage
+ Language.Haskell.Tools.AST.Types: TyApp :: Ann Type dom stage -> Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyBang :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyCtx :: Ann Context dom stage -> Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyForall :: AnnList TyVar dom stage -> Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyFun :: Ann Type dom stage -> Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyInfix :: Ann Type dom stage -> Ann Operator dom stage -> Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyKinded :: Ann Type dom stage -> Ann Kind dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyLazy :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyList :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyNamedWildc :: Ann Name dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyNoUnpack :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyParArray :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyParen :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyPromoted :: Ann (Promoted Type) dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyQuasiQuote :: QuasiQuote dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TySplice :: Splice dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyTuple :: AnnList Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyUnbTuple :: AnnList Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyUnpack :: Ann Type dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyVar :: Ann Name dom stage -> Type dom stage
+ Language.Haskell.Tools.AST.Types: TyVarDecl :: Ann Name dom stage -> AnnMaybe KindConstraint dom stage -> TyVar dom stage
+ Language.Haskell.Tools.AST.Types: TyWildcard :: Type dom stage
+ Language.Haskell.Tools.AST.Types: [_assertClsName] :: Assertion dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Types: [_assertImplType] :: Assertion dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_assertImplVar] :: Assertion dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Types: [_assertLhs] :: Assertion dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_assertOp] :: Assertion dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Types: [_assertRhs] :: Assertion dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_assertTypes] :: Assertion dom stage -> AnnList Type dom stage
+ Language.Haskell.Tools.AST.Types: [_contextAssertion] :: Context dom stage -> Ann Assertion dom stage
+ Language.Haskell.Tools.AST.Types: [_contextAssertions] :: Context dom stage -> AnnList Assertion dom stage
+ Language.Haskell.Tools.AST.Types: [_tpPromoted] :: Type dom stage -> Ann (Promoted Type) dom stage
+ Language.Haskell.Tools.AST.Types: [_tsSplice] :: Type dom stage -> Splice dom stage
+ Language.Haskell.Tools.AST.Types: [_tyVarKind] :: TyVar dom stage -> AnnMaybe KindConstraint dom stage
+ Language.Haskell.Tools.AST.Types: [_tyVarName] :: TyVar dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Types: [_typeArg] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeBounded] :: Type dom stage -> AnnList TyVar dom stage
+ Language.Haskell.Tools.AST.Types: [_typeCon] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeCtx] :: Type dom stage -> Ann Context dom stage
+ Language.Haskell.Tools.AST.Types: [_typeElement] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeElements] :: Type dom stage -> AnnList Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeInner] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeKind] :: Type dom stage -> Ann Kind dom stage
+ Language.Haskell.Tools.AST.Types: [_typeLeft] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeName] :: Type dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Types: [_typeOperator] :: Type dom stage -> Ann Operator dom stage
+ Language.Haskell.Tools.AST.Types: [_typeParam] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeQQ] :: Type dom stage -> QuasiQuote dom stage
+ Language.Haskell.Tools.AST.Types: [_typeResult] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeRight] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeType] :: Type dom stage -> Ann Type dom stage
+ Language.Haskell.Tools.AST.Types: [_typeWildcardName] :: Type dom stage -> Ann Name dom stage
+ Language.Haskell.Tools.AST.Types: data Assertion dom stage
+ Language.Haskell.Tools.AST.Types: data Context dom stage
+ Language.Haskell.Tools.AST.Types: data TyVar dom stage
+ Language.Haskell.Tools.AST.Types: data Type dom stage
+ Language.Haskell.Tools.AST.Utils.GHCInstances: con_RSL :: Constr
+ Language.Haskell.Tools.AST.Utils.GHCInstances: instance Data.Data.Data SrcLoc.RealSrcLoc
+ Language.Haskell.Tools.AST.Utils.GHCInstances: instance Data.Data.Data SrcLoc.SrcLoc
+ Language.Haskell.Tools.AST.Utils.GHCInstances: ty_RSL :: DataType
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: NoOrdSrcSpan :: FastString -> OrdSrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: OrdSrcSpan :: RealSrcSpan -> OrdSrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: data OrdSrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: fromOrdSrcSpan :: OrdSrcSpan -> SrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: instance GHC.Classes.Eq Language.Haskell.Tools.AST.Utils.OrdSrcSpan.OrdSrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: instance GHC.Classes.Ord Language.Haskell.Tools.AST.Utils.OrdSrcSpan.OrdSrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: instance GHC.Show.Show Language.Haskell.Tools.AST.Utils.OrdSrcSpan.OrdSrcSpan
+ Language.Haskell.Tools.AST.Utils.OrdSrcSpan: ordSrcSpan :: SrcSpan -> OrdSrcSpan
Files
- Language/Haskell/Tools/AST.hs +2/−1
- Language/Haskell/Tools/AST/Ann.hs +34/−7
- Language/Haskell/Tools/AST/Base.hs +11/−10
- Language/Haskell/Tools/AST/Base.hs-boot +2/−2
- Language/Haskell/Tools/AST/Decls.hs +8/−11
- Language/Haskell/Tools/AST/Exprs.hs +5/−1
- Language/Haskell/Tools/AST/Exprs.hs-boot +4/−1
- Language/Haskell/Tools/AST/Helpers.hs +18/−8
- Language/Haskell/Tools/AST/Instances/Data.hs +2/−2
- Language/Haskell/Tools/AST/Instances/Eq.hs +2/−2
- Language/Haskell/Tools/AST/Instances/Generic.hs +2/−2
- Language/Haskell/Tools/AST/Instances/SemanticTraversal.hs +2/−2
- Language/Haskell/Tools/AST/Instances/Show.hs +2/−2
- Language/Haskell/Tools/AST/Instances/SourceInfoTraversal.hs +2/−2
- Language/Haskell/Tools/AST/Literals.hs +2/−1
- Language/Haskell/Tools/AST/Modules.hs +5/−2
- Language/Haskell/Tools/AST/Patterns.hs +3/−2
- Language/Haskell/Tools/AST/References.hs +1/−2
- Language/Haskell/Tools/AST/SemaInfoClasses.hs +114/−0
- Language/Haskell/Tools/AST/SemaInfoTypes.hs +32/−59
- Language/Haskell/Tools/AST/Types.hs +3/−0
- Setup.hs +1/−1
- haskell-tools-ast.cabal +4/−3
Language/Haskell/Tools/AST.hs view
@@ -23,4 +23,5 @@ import Language.Haskell.Tools.AST.Base as Exported import Language.Haskell.Tools.AST.Ann as Exported import Language.Haskell.Tools.AST.Utils.OrdSrcSpan as Exported -import Language.Haskell.Tools.AST.SemaInfoTypes as Exported+import Language.Haskell.Tools.AST.SemaInfoTypes as Exported +import Language.Haskell.Tools.AST.SemaInfoClasses as Exported
Language/Haskell/Tools/AST/Ann.hs view
@@ -49,7 +49,7 @@ -- | A stage in which AST elements are marked with templates. These -- templates are hierarchical, and contain the places of the children -- elements of the node. -data RngTemplateStage +data RngTemplateStage deriving instance Data RngTemplateStage @@ -79,13 +79,15 @@ data SameInfoImportCls data SameInfoModuleCls data SameInfoDefaultCls +data SameInfoWildcardCls type family SemaInfoClassify (node :: * -> * -> *) where - SemaInfoClassify SimpleName = SameInfoNameCls - SemaInfoClassify Expr = SameInfoExprCls - SemaInfoClassify ImportDecl = SameInfoImportCls - SemaInfoClassify AST.Module = SameInfoModuleCls - SemaInfoClassify a = SameInfoDefaultCls + SemaInfoClassify QualifiedName = SameInfoNameCls + SemaInfoClassify Expr = SameInfoExprCls + SemaInfoClassify ImportDecl = SameInfoImportCls + SemaInfoClassify AST.Module = SameInfoModuleCls + SemaInfoClassify FieldWildcard = SameInfoWildcardCls + SemaInfoClassify a = SameInfoDefaultCls type family SemanticInfo' (domain :: *) (nodecls :: *) @@ -93,12 +95,14 @@ type instance SemanticInfo' (Dom n) SameInfoExprCls = ScopeInfo type instance SemanticInfo' (Dom n) SameInfoImportCls = ImportInfo n type instance SemanticInfo' (Dom n) SameInfoModuleCls = ModuleInfo GHC.Name +type instance SemanticInfo' (Dom n) SameInfoWildcardCls = ImplicitFieldInfo type instance SemanticInfo' (Dom n) SameInfoDefaultCls = NoSemanticInfo type instance SemanticInfo' IdDom SameInfoNameCls = CNameInfo type instance SemanticInfo' IdDom SameInfoExprCls = ScopeInfo type instance SemanticInfo' IdDom SameInfoImportCls = ImportInfo GHC.Id type instance SemanticInfo' IdDom SameInfoModuleCls = ModuleInfo GHC.Id +type instance SemanticInfo' IdDom SameInfoWildcardCls = ImplicitFieldInfo type instance SemanticInfo' IdDom SameInfoDefaultCls = NoSemanticInfo -- | Class for domain configuration markers @@ -109,10 +113,12 @@ , Data (SemanticInfo' d SameInfoExprCls) , Data (SemanticInfo' d SameInfoImportCls) , Data (SemanticInfo' d SameInfoModuleCls) + , Data (SemanticInfo' d SameInfoWildcardCls) , Show (SemanticInfo' d SameInfoNameCls) , Show (SemanticInfo' d SameInfoExprCls) , Show (SemanticInfo' d SameInfoImportCls) , Show (SemanticInfo' d SameInfoModuleCls) + , Show (SemanticInfo' d SameInfoWildcardCls) ) => Domain d where -- | A semantic domain for the AST. The semantic domain maps semantic information for @@ -127,10 +133,12 @@ , Data (SemanticInfo' d SameInfoExprCls) , Data (SemanticInfo' d SameInfoImportCls) , Data (SemanticInfo' d SameInfoModuleCls) + , Data (SemanticInfo' d SameInfoWildcardCls) , Show (SemanticInfo' d SameInfoNameCls) , Show (SemanticInfo' d SameInfoExprCls) , Show (SemanticInfo' d SameInfoImportCls) , Show (SemanticInfo' d SameInfoModuleCls) + , Show (SemanticInfo' d SameInfoWildcardCls) ) => Domain d where @@ -144,10 +152,11 @@ , Domain d ) => DomainWith e d where --- | Extracts the concrete range corresponding to a given span. +-- | Extracts or modifies the concrete range corresponding to a given source info. -- In case of lists and optional elements, it may not contain the elements inside. class HasRange a where getRange :: a -> SrcSpan + setRange :: SrcSpan -> a -> a -- | Class for source information stages class ( Typeable stage @@ -287,6 +296,13 @@ isAnnNothing (AnnMaybe _ Nothing) = True isAnnNothing (AnnMaybe _ _) = False +isAnnJust :: AnnMaybe e d s -> Bool +isAnnJust (AnnMaybe _ (Just _)) = True +isAnnJust (AnnMaybe _ _) = False + +annLength :: AnnList e d s -> Int +annLength (AnnList _ ls) = length ls + -- | A non-existing AST part annNothing :: NodeInfo (SemanticInfo d (AnnMaybe e)) (OptionalInfo s) -> AnnMaybe e d s annNothing a = AnnMaybe a Nothing @@ -296,30 +312,39 @@ instance HasRange (SpanInfo RangeStage) where getRange (NodeSpan sp) = sp + setRange sp (NodeSpan _) = NodeSpan sp instance HasRange (ListInfo RangeStage) where getRange ListPos{_listPos = pos} = srcLocSpan pos + setRange sp info = info {_listPos = srcSpanStart sp} instance HasRange (OptionalInfo RangeStage) where getRange OptionalPos{_optionalPos = pos} = srcLocSpan pos + setRange sp info = info {_optionalPos = srcSpanStart sp} instance HasRange (SpanInfo NormRangeStage) where getRange (NormNodeInfo sp) = sp + setRange sp (NormNodeInfo _) = NormNodeInfo sp instance HasRange (ListInfo NormRangeStage) where getRange NormListInfo{_normListSpan = sp} = sp + setRange sp info = info { _normListSpan = sp } instance HasRange (OptionalInfo NormRangeStage) where getRange NormOptInfo{_normOptSpan = sp} = sp + setRange sp info = info {_normOptSpan = sp} instance SourceInfo stage => HasRange (Ann elem dom stage) where getRange (Ann a _) = getRange (a ^. sourceInfo) + setRange sp = annotation & sourceInfo .- setRange sp instance SourceInfo stage => HasRange (AnnList elem dom stage) where getRange (AnnList a _) = getRange (a ^. sourceInfo) + setRange sp = annListAnnot & sourceInfo .- setRange sp instance SourceInfo stage => HasRange (AnnMaybe elem dom stage) where getRange (AnnMaybe a _) = getRange (a ^. sourceInfo) + setRange sp = annMaybeAnnot & sourceInfo .- setRange sp -- | A class for changing semantic information throught the AST. class ApplySemaChange cls where @@ -329,6 +354,7 @@ instance ApplySemaChange SameInfoExprCls where appSemaChange = trfSemaExprCls instance ApplySemaChange SameInfoImportCls where appSemaChange = trfSemaImportCls instance ApplySemaChange SameInfoModuleCls where appSemaChange = trfSemaModuleCls +instance ApplySemaChange SameInfoWildcardCls where appSemaChange = trfSemaWildcardCls instance ApplySemaChange SameInfoDefaultCls where appSemaChange = trfSemaDefault -- | A class for traversing semantic information in an AST @@ -341,6 +367,7 @@ , trfSemaExprCls :: SemanticInfo' dom1 SameInfoExprCls -> f (SemanticInfo' dom2 SameInfoExprCls) , trfSemaImportCls :: SemanticInfo' dom1 SameInfoImportCls -> f (SemanticInfo' dom2 SameInfoImportCls) , trfSemaModuleCls :: SemanticInfo' dom1 SameInfoModuleCls -> f (SemanticInfo' dom2 SameInfoModuleCls) + , trfSemaWildcardCls :: SemanticInfo' dom1 SameInfoWildcardCls -> f (SemanticInfo' dom2 SameInfoWildcardCls) , trfSemaDefault :: SemanticInfo' dom1 SameInfoDefaultCls -> f (SemanticInfo' dom2 SameInfoDefaultCls) }
Language/Haskell/Tools/AST/Base.hs view
@@ -10,23 +10,24 @@ import Language.Haskell.Tools.AST.Ann data Operator dom stage - = BacktickOp { _operatorName :: Ann SimpleName dom stage } -- ^ Backtick operator name: @ a `mod` b @ - | NormalOp { _operatorName :: Ann SimpleName dom stage } + = BacktickOp { _operatorName :: Ann QualifiedName dom stage } -- ^ Backtick operator name: @ a `mod` b @ + | NormalOp { _operatorName :: Ann QualifiedName dom stage } data Name dom stage - = ParenName { _simpleName :: Ann SimpleName dom stage } -- ^ Parenthesized name: @ foldl (+) 0 @ - | NormalName { _simpleName :: Ann SimpleName dom stage } + = ParenName { _simpleName :: Ann QualifiedName dom stage } -- ^ Parenthesized name: @ foldl (+) 0 @ + | NormalName { _simpleName :: Ann QualifiedName dom stage } + | ImplicitName { _simpleName :: Ann QualifiedName dom stage } -- ^ Implicit name: @ ?var @ -- | Possible qualified names. Contains also implicit names. -- Linear implicit parameter: @%x@. Non-linear implicit parameter: @?x@. -data SimpleName dom stage - = SimpleName { _qualifiers :: AnnList UnqualName dom stage - , _unqualifiedName :: Ann UnqualName dom stage - } +data QualifiedName dom stage + = QualifiedName { _qualifiers :: AnnList UnqualName dom stage + , _unqualifiedName :: Ann UnqualName dom stage + } -nameFromList :: AnnList UnqualName dom stage -> SimpleName dom stage +nameFromList :: AnnList UnqualName dom stage -> QualifiedName dom stage nameFromList (AnnList a xs) | not (null xs) - = SimpleName (AnnList a (init xs)) (last xs) + = QualifiedName (AnnList a (init xs)) (last xs) nameFromList _ = error "nameFromList: empty list" -- | Parts of a qualified name.
Language/Haskell/Tools/AST/Base.hs-boot view
@@ -1,5 +1,5 @@ {-# LANGUAGE RoleAnnotations #-} module Language.Haskell.Tools.AST.Base where -type role SimpleName nominal nominal -data SimpleName dom stage+type role QualifiedName nominal nominal +data QualifiedName dom stage
Language/Haskell/Tools/AST/Decls.hs view
@@ -1,4 +1,5 @@--- | Representation of Haskell AST definitions +-- | Representation of Haskell AST definitions. These include definition of data types, classes, instances and so on. +-- The definition of value bindings are in the Binds module. module Language.Haskell.Tools.AST.Decls where import Language.Haskell.Tools.AST.Binds @@ -85,7 +86,7 @@ } -- ^ foreign export (@ foreign export ccall _foo :: Int -> IO Int @) | PragmaDecl { _declPragma :: Ann TopLevelPragma dom stage } -- ^ top level pragmas - | RoleDecl { _declRoleType :: Ann SimpleName dom stage + | RoleDecl { _declRoleType :: Ann QualifiedName dom stage , _declRoles :: AnnList Role dom stage } -- ^ role annotations (@ type role Ptr representational @) | SpliceDecl { _declSplice :: Ann Splice dom stage @@ -99,13 +100,15 @@ | DataFamily { _tfHead :: Ann DeclHead dom stage , _tfKind :: AnnMaybe KindConstraint dom stage } -- ^ Data family declaration - + +-- | Type family specification with kinds specification and injectivity. data TypeFamilySpec dom stage = TypeFamilyKind { _tfSpecKind :: Ann KindConstraint dom stage } | TypeFamilyInjectivity { _tfInjectivity :: Ann InjectivityAnn dom stage } +-- | Injectivity annotation for type families (@ = r | r -> a @) data InjectivityAnn dom stage = InjectivityAnn { _injAnnRes :: Ann Name dom stage , _injAnnDeps :: AnnList Name dom stage @@ -171,7 +174,7 @@ } -- ^ An associated data type implementation (@ data A X = C1 | C2 @) | InstBodyGadtDataDecl { _instBodyDataNew :: Ann DataOrNewtypeKeyword dom stage , _instBodyLhsType :: Ann InstanceRule dom stage - , _instBodyDataKind :: AnnMaybe Kind dom stage + , _instBodyDataKind :: AnnMaybe KindConstraint dom stage , _instBodyGadtCons :: AnnList GadtConDecl dom stage , _instBodyDerivings :: AnnMaybe Deriving dom stage } -- ^ An associated data type implemented using GADT style @@ -195,13 +198,6 @@ , _gadtConResultType :: Ann Type dom stage } -data GadtField dom stage - = GadtNormalField { _gadtFieldType :: Ann Type dom stage - } -- ^ Normal GADT field type (@ Int @) - | GadtNamedField { _gadtFieldName :: Ann Name dom stage - , _gadtFieldType :: Ann Type dom stage - } -- ^ Named GADT field (@ { _val :: Int } @) - -- | A list of functional dependencies: @ | a -> b, c -> d @ separated by commas data FunDeps dom stage = FunDeps { _funDeps :: AnnList FunDep dom stage @@ -213,6 +209,7 @@ , _funDepRhs :: AnnList Name dom stage } +-- | A constructor declaration for a datatype data ConDecl dom stage = ConDecl { _conDeclName :: Ann Name dom stage , _conDeclArgs :: AnnList Type dom stage
Language/Haskell/Tools/AST/Exprs.hs view
@@ -124,8 +124,12 @@ } -- ^ Update of a field (@ x = 1 @) | FieldPun { _fieldUpdateName :: Ann Name dom stage } -- ^ Update the field to the value of the same name (@ x @) - | FieldWildcard -- ^ Update the fields of the bounded names to their values (@ .. @). Must be the last update. Cannot be used in a record update expression. + | FieldWildcard { _fieldWildcard :: Ann FieldWildcard dom stage + } -- ^ Update the fields of the bounded names to their values (@ .. @). Must be the last initializer. Cannot be used in a record update expression. +-- | Marker for a field wildcard. Only needed to attach semantic information in a type-safe way. +data FieldWildcard dom stage = FldWildcard + -- | An element of a tuple section that can be an expression or missing (indicating a value from a parameter) data TupSecElem dom stage = Present { _tupSecExpr :: Ann Expr dom stage
Language/Haskell/Tools/AST/Exprs.hs-boot view
@@ -5,4 +5,7 @@ data Expr dom stage type role Cmd nominal nominal -data Cmd dom stage+data Cmd dom stage + +type role FieldWildcard phantom phantom +data FieldWildcard dom stage
Language/Haskell/Tools/AST/Helpers.hs view
@@ -29,20 +29,20 @@ import Debug.Trace -ordByOccurrence :: SimpleName dom stage -> SimpleName dom stage -> Ordering +ordByOccurrence :: QualifiedName dom stage -> QualifiedName dom stage -> Ordering ordByOccurrence = compare `on` nameElements -- | The occurrence of the name. -nameString :: SimpleName dom stage -> String +nameString :: QualifiedName dom stage -> String nameString = intercalate "." . nameElements -- | The qualifiers and the unqualified name -nameElements :: SimpleName dom stage -> [String] +nameElements :: QualifiedName dom stage -> [String] nameElements n = (n ^? qualifiers&annList&element&simpleNameStr) ++ [n ^. unqualifiedName&element&simpleNameStr] -- | The qualifier of the name -nameQualifier :: SimpleName dom stage -> [String] +nameQualifier :: QualifiedName dom stage -> [String] nameQualifier n = n ^? qualifiers&annList&element&simpleNameStr -- | Does the import declaration import only the explicitly listed elements? @@ -67,13 +67,13 @@ = (if isAnnNothing (imp ^. importQualified) then [[]] else []) ++ [imp ^? importAs&annJust&element&importRename&element&moduleNameString] -bindingName :: (SemanticInfo dom SimpleName ~ ni) => Simple Traversal (Ann ValueBind dom stage) ni +bindingName :: (SemanticInfo dom QualifiedName ~ ni) => Simple Traversal (Ann ValueBind dom stage) ni bindingName = element&(valBindPat&element&patternName&element&simpleName &+& funBindMatches&annList&element&matchLhs&element &(matchLhsName&element&simpleName &+& matchLhsOperator&element&operatorName)) &semantics -declHeadNames :: Simple Traversal (Ann DeclHead dom stage) (Ann SimpleName dom stage) +declHeadNames :: Simple Traversal (Ann DeclHead dom stage) (Ann QualifiedName dom stage) declHeadNames = element & (dhName&element&simpleName &+& dhBody&declHeadNames &+& dhAppFun&declHeadNames &+& dhOperator&element&operatorName) @@ -90,7 +90,7 @@ semantics :: Simple Lens (Ann elem dom stage) (SemanticInfo dom elem) semantics = annotation&semanticInfo -dhNames :: (SemanticInfo dom SimpleName ~ k) => Simple Traversal (Ann DeclHead dom stage) k +dhNames :: (SemanticInfo dom QualifiedName ~ k) => Simple Traversal (Ann DeclHead dom stage) k dhNames = declHeadNames & semantics -- | A type class for transformations that work on both top-level and local definitions @@ -122,7 +122,7 @@ isBinding (LocalValBind _) = True isBinding _ = False -bindName :: (BindingElem d, SemanticInfo dom SimpleName ~ k) => Simple Traversal (d dom stage) k +bindName :: (BindingElem d, SemanticInfo dom QualifiedName ~ k) => Simple Traversal (d dom stage) k bindName = valBind&bindingName &+& sigBind&element&tsName&annList&element&simpleName&semantics valBindsInList :: BindingElem d => Simple Traversal (AnnList d dom stage) (Ann ValueBind dom stage) @@ -143,6 +143,16 @@ isInside :: HasRange (inner dom stage) => RealSrcSpan -> inner dom stage -> Bool isInside rng nd = case getRange nd of RealSrcSpan sp -> sp `containsSpan` rng _ -> False + +-- | Get all nodes that are contained in a given source range +nodesContained :: (HasRange (inner dom stage), Biplate (node dom stage) (inner dom stage), SourceInfo stage) + => RealSrcSpan -> Simple Traversal (node dom stage) (inner dom stage) +nodesContained rng = biplateRef & filtered (isContained rng) + +-- | Return true if the node contains a given range +isContained :: HasRange (inner dom stage) => RealSrcSpan -> inner dom stage -> Bool +isContained rng nd = case getRange nd of RealSrcSpan sp -> rng `containsSpan` sp + _ -> False -- | Get the nodes that have exactly the given range nodesWithRange :: (Biplate (Ann node dom stage) (Ann inner dom stage), SourceInfo stage)
Language/Haskell/Tools/AST/Instances/Data.hs view
@@ -48,7 +48,7 @@ deriving instance (Domain dom, SourceInfo stage) => Data (InstBodyDecl dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (GadtConDecl dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (GadtConType dom stage) -deriving instance (Domain dom, SourceInfo stage) => Data (GadtField dom stage) +deriving instance (Domain dom, SourceInfo stage) => Data (FieldWildcard dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (FunDeps dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (FunDep dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (ConDecl dom stage) @@ -114,7 +114,7 @@ -- Base deriving instance (Domain dom, SourceInfo stage) => Data (Operator dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (Name dom stage) -deriving instance (Domain dom, SourceInfo stage) => Data (SimpleName dom stage) +deriving instance (Domain dom, SourceInfo stage) => Data (QualifiedName dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (ModuleName dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (UnqualName dom stage) deriving instance (Domain dom, SourceInfo stage) => Data (StringNode dom stage)
Language/Haskell/Tools/AST/Instances/Eq.hs view
@@ -51,7 +51,7 @@ deriving instance Eq (InstBodyDecl dom stage) deriving instance Eq (GadtConDecl dom stage) deriving instance Eq (GadtConType dom stage) -deriving instance Eq (GadtField dom stage) +deriving instance Eq (FieldWildcard dom stage) deriving instance Eq (FunDeps dom stage) deriving instance Eq (FunDep dom stage) deriving instance Eq (ConDecl dom stage) @@ -117,7 +117,7 @@ -- Base deriving instance Eq (Operator dom stage) deriving instance Eq (Name dom stage) -deriving instance Eq (SimpleName dom stage) +deriving instance Eq (QualifiedName dom stage) deriving instance Eq (ModuleName dom stage) deriving instance Eq (UnqualName dom stage) deriving instance Eq (StringNode dom stage)
Language/Haskell/Tools/AST/Instances/Generic.hs view
@@ -48,7 +48,7 @@ deriving instance (Domain dom, SourceInfo stage) => Generic (InstBodyDecl dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (GadtConDecl dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (GadtConType dom stage) -deriving instance (Domain dom, SourceInfo stage) => Generic (GadtField dom stage) +deriving instance (Domain dom, SourceInfo stage) => Generic (FieldWildcard dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (FunDeps dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (FunDep dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (ConDecl dom stage) @@ -115,7 +115,7 @@ -- Base deriving instance (Domain dom, SourceInfo stage) => Generic (Operator dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (Name dom stage) -deriving instance (Domain dom, SourceInfo stage) => Generic (SimpleName dom stage) +deriving instance (Domain dom, SourceInfo stage) => Generic (QualifiedName dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (ModuleName dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (UnqualName dom stage) deriving instance (Domain dom, SourceInfo stage) => Generic (StringNode dom stage)
Language/Haskell/Tools/AST/Instances/SemanticTraversal.hs view
@@ -46,7 +46,7 @@ deriveSemanticTraversal ''InstBodyDecl deriveSemanticTraversal ''GadtConDecl deriveSemanticTraversal ''GadtConType -deriveSemanticTraversal ''GadtField +deriveSemanticTraversal ''FieldWildcard deriveSemanticTraversal ''FunDeps deriveSemanticTraversal ''FunDep deriveSemanticTraversal ''ConDecl @@ -112,7 +112,7 @@ -- Base deriveSemanticTraversal ''Operator deriveSemanticTraversal ''Name -deriveSemanticTraversal ''SimpleName +deriveSemanticTraversal ''QualifiedName deriveSemanticTraversal ''ModuleName deriveSemanticTraversal ''UnqualName deriveSemanticTraversal ''StringNode
Language/Haskell/Tools/AST/Instances/Show.hs view
@@ -51,7 +51,7 @@ deriving instance Show (InstBodyDecl dom stage) deriving instance Show (GadtConDecl dom stage) deriving instance Show (GadtConType dom stage) -deriving instance Show (GadtField dom stage) +deriving instance Show (FieldWildcard dom stage) deriving instance Show (FunDeps dom stage) deriving instance Show (FunDep dom stage) deriving instance Show (ConDecl dom stage) @@ -118,7 +118,7 @@ -- Base deriving instance Show (Operator dom stage) deriving instance Show (Name dom stage) -deriving instance Show (SimpleName dom stage) +deriving instance Show (QualifiedName dom stage) deriving instance Show (ModuleName dom stage) deriving instance Show (UnqualName dom stage) deriving instance Show (StringNode dom stage)
Language/Haskell/Tools/AST/Instances/SourceInfoTraversal.hs view
@@ -46,7 +46,7 @@ deriveSourceInfoTraversal ''InstBodyDecl deriveSourceInfoTraversal ''GadtConDecl deriveSourceInfoTraversal ''GadtConType -deriveSourceInfoTraversal ''GadtField +deriveSourceInfoTraversal ''FieldWildcard deriveSourceInfoTraversal ''FunDeps deriveSourceInfoTraversal ''FunDep deriveSourceInfoTraversal ''ConDecl @@ -112,7 +112,7 @@ -- Base deriveSourceInfoTraversal ''Operator deriveSourceInfoTraversal ''Name -deriveSourceInfoTraversal ''SimpleName +deriveSourceInfoTraversal ''QualifiedName deriveSourceInfoTraversal ''ModuleName deriveSourceInfoTraversal ''UnqualName deriveSourceInfoTraversal ''StringNode
Language/Haskell/Tools/AST/Literals.hs view
@@ -24,5 +24,6 @@ } -- ^ Primitive double literal (of type @Double#@): @3.14##@ | PrimCharLit { _charLitValue :: Char } -- ^ Primitive character literal (of type @Char#@): @'c'#@ - | PrimStringLit { _stringLitValue :: String } + | PrimStringLit { _stringLitValue :: String + } -- ^ Prmitive string literal (of type @Addr#@): @"xxx"#@
Language/Haskell/Tools/AST/Modules.hs view
@@ -1,4 +1,4 @@--- | Representation of Haskell modules with imports and exports +-- | Representation of Haskell modules, imports and exports. Also contains file-level pragmas. module Language.Haskell.Tools.AST.Modules where import Language.Haskell.Tools.AST.Ann @@ -7,6 +7,8 @@ import Language.Haskell.Tools.AST.Binds import Language.Haskell.Tools.AST.Decls +-- | The representation of a haskell module, that is a separate compilation unit. +-- It may or may not have a header. data Module dom stage = Module { _filePragmas :: AnnList FilePragma dom stage , _modHead :: AnnMaybe ModuleHead dom stage @@ -56,7 +58,8 @@ } -- ^ a warning pragma attached to the module | ModuleDeprecatedPragma { _modDeprecatedPragma :: AnnList StringNode dom stage } -- ^ a deprecated pragma attached to the module - + +-- | The name of the enabled language extension, for example (@ LambdaCase @) data LanguageExtension dom stage = LanguageExtension { _langExt :: String } -- | An import declaration: @import Module.Name@
Language/Haskell/Tools/AST/Patterns.hs view
@@ -5,7 +5,7 @@ import Language.Haskell.Tools.AST.Base import Language.Haskell.Tools.AST.Literals import Language.Haskell.Tools.AST.Types -import {-# SOURCE #-} Language.Haskell.Tools.AST.Exprs (Expr) +import {-# SOURCE #-} Language.Haskell.Tools.AST.Exprs (Expr, FieldWildcard) import {-# SOURCE #-} Language.Haskell.Tools.AST.TH @@ -66,4 +66,5 @@ } -- ^ Named field pattern (@ p = Point 3 2 @) | FieldPunPattern { _fieldPatternName :: Ann Name dom stage } -- ^ Named field pun (@ p @) - | FieldWildcardPattern -- ^ Wildcard field pattern (@ .. @) + | FieldWildcardPattern { _fieldPatternWildcard :: Ann FieldWildcard dom stage + } -- ^ Wildcard field pattern (@ .. @)
Language/Haskell/Tools/AST/References.hs view
@@ -42,7 +42,6 @@ makeReferences ''InstBodyDecl makeReferences ''GadtConDecl makeReferences ''GadtConType -makeReferences ''GadtField makeReferences ''FunDeps makeReferences ''FunDep makeReferences ''ConDecl @@ -107,7 +106,7 @@ -- Base makeReferences ''Operator makeReferences ''Name -makeReferences ''SimpleName +makeReferences ''QualifiedName makeReferences ''ModuleName makeReferences ''UnqualName makeReferences ''StringNode
+ Language/Haskell/Tools/AST/SemaInfoClasses.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE FlexibleInstances, FlexibleContexts, ConstraintKinds #-} +module Language.Haskell.Tools.AST.SemaInfoClasses where + +import GHC +import Id as GHC +import BasicTypes as GHC + +import Control.Reference + +import Language.Haskell.Tools.AST.Ann as AST +import Language.Haskell.Tools.AST.SemaInfoTypes as AST +import Language.Haskell.Tools.AST.Modules as AST +import Language.Haskell.Tools.AST.Base as AST +import Language.Haskell.Tools.AST.Exprs as AST + +-- | Domains that have semantic information for names +type HasNameInfo dom = (Domain dom, HasNameInfo' (SemanticInfo dom QualifiedName)) + +-- | Infos that may have a name that can be extracted +class HasNameInfo' si where + semanticsName :: si -> Maybe GHC.Name + +instance HasNameInfo' (NameInfo GHC.Name) where + semanticsName = (^? nameInfo) + +instance HasNameInfo' CNameInfo where + semanticsName = fmap idName . (^? cnameInfo) + +type HasIdInfo dom = (Domain dom, HasIdInfo' (SemanticInfo dom QualifiedName)) + +-- | Infos that may have a typed name that can be extracted +class HasIdInfo' si where + semanticsId :: si -> Id + +instance HasIdInfo' CNameInfo where + semanticsId = (^. cnameInfo) + +type HasFixityInfo dom = (Domain dom, HasFixityInfo' (SemanticInfo dom QualifiedName)) + +-- | Infos that may have a fixity information +class HasFixityInfo' si where + semanticsFixity :: si -> Maybe GHC.Fixity + +instance HasFixityInfo' CNameInfo where + semanticsFixity = (^. cnameFixity) + +type HasScopeInfo dom = (Domain dom, HasScopeInfo' (SemanticInfo dom QualifiedName), HasScopeInfo' (SemanticInfo dom Expr)) + +-- | Infos that contain the names that are available in theirs scope +class HasScopeInfo' si where + semanticsScope :: si -> Scope + +instance HasScopeInfo' (NameInfo n) where + semanticsScope = (^. nameScopedLocals) + +instance HasScopeInfo' CNameInfo where + semanticsScope = (^. cnameScopedLocals) + +instance HasScopeInfo' ScopeInfo where + semanticsScope = (^. exprScopedLocals) + +type HasDefiningInfo dom = (Domain dom, HasDefiningInfo' (SemanticInfo dom QualifiedName)) + +-- | Infos that store if they were used to define a name +class HasDefiningInfo' si where + semanticsDefining :: si -> Bool + +instance HasDefiningInfo' (NameInfo n) where + semanticsDefining = (^. nameIsDefined) + +instance HasDefiningInfo' CNameInfo where + semanticsDefining = (^. cnameIsDefined) + +type HasModuleInfo dom = (Domain dom, HasModuleInfo' (SemanticInfo dom AST.Module)) + +class HasModuleInfo' si where + semanticsModule :: si -> GHC.Module + isBootModule :: si -> Bool + semanticsImplicitImports :: si -> [GHC.Name] + +instance HasModuleInfo' (AST.ModuleInfo GHC.Name) where + semanticsModule = (^. defModuleName) + isBootModule = (^. defIsBootModule) + semanticsImplicitImports = (^. implicitNames) + +instance HasModuleInfo' (AST.ModuleInfo GHC.Id) where + semanticsModule = (^. defModuleName) + isBootModule = (^. defIsBootModule) + semanticsImplicitImports = map idName . (^. implicitNames) + +type HasImportInfo dom = (Domain dom, HasImportInfo' (SemanticInfo dom AST.ImportDecl)) + +class HasImportInfo' si where + semanticsImportedModule :: si -> GHC.Module + semanticsAvailable :: si -> [GHC.Name] + semanticsImported :: si -> [GHC.Name] + +instance HasImportInfo' (AST.ImportInfo GHC.Name) where + semanticsImportedModule = (^. importedModule) + semanticsAvailable = (^. availableNames) + semanticsImported = (^. importedNames) + +instance HasImportInfo' (AST.ImportInfo GHC.Id) where + semanticsImportedModule = (^. importedModule) + semanticsAvailable = map idName . (^. availableNames) + semanticsImported = map idName . (^. importedNames) + +type HasImplicitFieldsInfo dom = (Domain dom, HasImplicitFieldsInfo' (SemanticInfo dom AST.FieldWildcard)) + +class HasImplicitFieldsInfo' si where + semanticsImplicitFlds :: si -> [(GHC.Name, GHC.Name)] + +instance HasImplicitFieldsInfo' ImplicitFieldInfo where + semanticsImplicitFlds = (^. implicitFieldBindings)
Language/Haskell/Tools/AST/SemaInfoTypes.hs view
@@ -6,81 +6,96 @@ #-} module Language.Haskell.Tools.AST.SemaInfoTypes where -import Name -import Id -import Module -import SrcLoc -import RdrName -import Outputable +import Name as GHC +import BasicTypes as GHC +import Id as GHC +import Module as GHC +import SrcLoc as GHC +import RdrName as GHC +import Outputable as GHC +import Data.List import Data.Data import Control.Reference +type Scope = [[Name]] + -- | Semantic info type for any node not -- carrying additional semantic information data NoSemanticInfo = NoSemanticInfo deriving (Eq, Data) -- | Info for expressions that tells which definitions are in scope -data ScopeInfo = ScopeInfo { _exprScopedLocals :: [[Name]] +data ScopeInfo = ScopeInfo { _exprScopedLocals :: Scope } deriving (Eq, Data) -- | Info corresponding to a name -data NameInfo n = NameInfo { _nameScopedLocals :: [[Name]] +data NameInfo n = NameInfo { _nameScopedLocals :: Scope , _nameIsDefined :: Bool , _nameInfo :: n } - | AmbiguousNameInfo { _nameScopedLocals :: [[Name]] + | AmbiguousNameInfo { _nameScopedLocals :: Scope , _nameIsDefined :: Bool , _ambiguousName :: RdrName , _ambiguousLocation :: SrcSpan } - | ImplicitNameInfo { _nameScopedLocals :: [[Name]] + | ImplicitNameInfo { _nameScopedLocals :: Scope , _nameIsDefined :: Bool , _implicitName :: String + , _implicitLocation :: SrcSpan } deriving (Eq, Data) -- | Info corresponding to a name that is correctly identified -data CNameInfo = CNameInfo { _cnameScopedLocals :: [[Name]] +data CNameInfo = CNameInfo { _cnameScopedLocals :: Scope , _cnameIsDefined :: Bool , _cnameInfo :: Id + , _cnameFixity :: Maybe GHC.Fixity } deriving (Eq, Data) -- | Info for the module element -data ModuleInfo n = ModuleInfo { _defModuleName :: Module +data ModuleInfo n = ModuleInfo { _defModuleName :: GHC.Module + , _defIsBootModule :: Bool -- ^ True if this module is created from a hs-boot file , _implicitNames :: [n] -- ^ Implicitely imported names } deriving (Eq, Data) -- | Info corresponding to an import declaration -data ImportInfo n = ImportInfo { _importedModule :: Module -- ^ The name and package of the imported module +data ImportInfo n = ImportInfo { _importedModule :: GHC.Module -- ^ The name and package of the imported module , _availableNames :: [n] -- ^ Names available from the imported module , _importedNames :: [n] -- ^ Names actually imported from the module. } deriving (Eq, Data) +-- | Info corresponding to an record-wildcard +data ImplicitFieldInfo = ImplicitFieldInfo { _implicitFieldBindings :: [(Name, Name)] -- ^ The implicitely bounded names + } + deriving (Eq, Data) + instance Show ScopeInfo where show (ScopeInfo locals) = "(ScopeInfo " ++ showSDocUnsafe (ppr locals) ++ ")" instance Outputable n => Show (NameInfo n) where show (NameInfo locals defined nameInfo) = "(NameInfo " ++ showSDocUnsafe (ppr locals) ++ " " ++ show defined ++ " " ++ showSDocUnsafe (ppr nameInfo) ++ ")" show (AmbiguousNameInfo locals defined nameInfo span) = "(AmbiguousNameInfo " ++ showSDocUnsafe (ppr locals) ++ " " ++ show defined ++ " " ++ showSDocUnsafe (ppr nameInfo) ++ " " ++ show span ++ ")" - show (ImplicitNameInfo locals defined nameInfo) = "(ImplicitNameInfo " ++ showSDocUnsafe (ppr locals) ++ " " ++ show defined ++ " " ++ showSDocUnsafe (ppr nameInfo) ++ ")" + show (ImplicitNameInfo locals defined nameInfo span) = "(ImplicitNameInfo " ++ showSDocUnsafe (ppr locals) ++ " " ++ show defined ++ " " ++ showSDocUnsafe (ppr nameInfo) ++ " " ++ show span ++ ")" instance Show CNameInfo where - show (CNameInfo locals defined nameInfo) = "(CNameInfo " ++ showSDocUnsafe (ppr locals) ++ " " ++ show defined ++ " " ++ showSDocUnsafe (ppr nameInfo) ++ ")" + show (CNameInfo locals defined nameInfo fixity) = "(CNameInfo " ++ showSDocUnsafe (ppr locals) ++ " " ++ show defined ++ " " ++ showSDocUnsafe (ppr nameInfo) ++ showSDocUnsafe (ppr fixity) ++ ")" instance Outputable n => Show (ModuleInfo n) where - show (ModuleInfo mod imp) = "(ModuleInfo " ++ showSDocUnsafe (ppr mod) ++ " " ++ showSDocUnsafe (ppr imp) ++ ")" + show (ModuleInfo mod isboot imp) = "(ModuleInfo " ++ showSDocUnsafe (ppr mod) ++ " " ++ show isboot ++ " " ++ showSDocUnsafe (ppr imp) ++ ")" instance Outputable n => Show (ImportInfo n) where show (ImportInfo mod avail imported) = "(ImportInfo " ++ showSDocUnsafe (ppr mod) ++ " " ++ showSDocUnsafe (ppr avail) ++ " " ++ showSDocUnsafe (ppr imported) ++ ")" +instance Show ImplicitFieldInfo where + show (ImplicitFieldInfo bnds) = "(ImplicitFieldInfo [" ++ concat (intersperse "," (map (\(from,to) -> showSDocUnsafe (ppr from) ++ "->" ++ showSDocUnsafe (ppr to)) bnds)) ++ "])" + instance Show NoSemanticInfo where show NoSemanticInfo = "NoSemanticInfo" @@ -90,49 +105,7 @@ makeReferences ''CNameInfo makeReferences ''ModuleInfo makeReferences ''ImportInfo - --- | Infos that may have a name that can be extracted -class HasNameInfo si where - semanticsName :: si -> Maybe Name - -instance HasNameInfo (NameInfo Name) where - semanticsName = (^? nameInfo) - -instance HasNameInfo CNameInfo where - semanticsName = fmap idName . (^? cnameInfo) - --- | Infos that may have a typed name that can be extracted -class HasIdInfo si where - semanticsId :: si -> Maybe Id - -instance HasIdInfo (NameInfo Id) where - semanticsId = (^? nameInfo) - -instance HasIdInfo CNameInfo where - semanticsId = (^? cnameInfo) - --- | Infos that contain the names that are available in theirs scope -class HasScopeInfo si where - semanticsScope :: si -> [[Name]] - -instance HasScopeInfo (NameInfo n) where - semanticsScope = (^. nameScopedLocals) - -instance HasScopeInfo CNameInfo where - semanticsScope = (^. cnameScopedLocals) - -instance HasScopeInfo ScopeInfo where - semanticsScope = (^. exprScopedLocals) - --- | Infos that store if they were used to define a name -class HasDefiningInfo si where - semanticsDefining :: si -> Bool - -instance HasDefiningInfo (NameInfo n) where - semanticsDefining = (^. nameIsDefined) - -instance HasDefiningInfo CNameInfo where - semanticsDefining = (^. cnameIsDefined) +makeReferences ''ImplicitFieldInfo -- | Semantic and source code related information for an AST node. data NodeInfo sema src
Language/Haskell/Tools/AST/Types.hs view
@@ -80,5 +80,8 @@ , _assertOp :: Ann Operator dom stage , _assertRhs :: Ann Type dom stage } -- ^ Infix class assertion, also contains type equations (@ a ~ X y @) + | ImplicitAssert { _assertImplVar :: Ann Name dom stage + , _assertImplType :: Ann Type dom stage + } -- ^ Assertion for implicit parameter binding (@ ?cmp :: a -> a -> Bool @)
Setup.hs view
@@ -1,2 +1,2 @@-import Distribution.Simple+import Distribution.Simple main = defaultMain
haskell-tools-ast.cabal view
@@ -1,7 +1,7 @@ name: haskell-tools-ast -version: 0.1.3.0 +version: 0.2.0.0 synopsis: Haskell AST for efficient tooling -description: A representation of a Haskell Syntax tree that contain source-related and semantic annotations. These annotations help developer tools to work with the defined program. The source information enables refactoring and program transformation tools to change the source code without losing the original format (layout, comments) of the source. Semantic information helps analyzing the program. The representation is different from the GHC's syntax tree. It contains information from all representations in GHC (different version of syntax trees, lexical and module-level information). +description: A representation of a Haskell Syntax tree that contain source-related and semantic annotations. These annotations help developer tools to work with the defined program. The source information enables refactoring and program transformation tools to change the source code without losing the original format (layout, comments) of the source. Semantic information helps analyzing the program. The representation is different from the GHC's syntax tree. It contains information from all representations in GHC (different version of syntax trees, lexical and module-level information). The module is split up to put the representation of different language elements into different modules. Additionally, it contains the representation of semantic and source annotations, helper functions and generated instances for the representation of language elements. Because langauge elements may refer each other (there can be a pattern inside an expression in case of a pattern match and an expression inside a pattern if view patterns are enabled), we use hs-boot files to break up dependency cycles. homepage: https://github.com/nboldi/haskell-tools license: BSD3 @@ -14,7 +14,7 @@ library exposed-modules: Language.Haskell.Tools.AST - other-modules: Language.Haskell.Tools.AST.Modules + , Language.Haskell.Tools.AST.Modules , Language.Haskell.Tools.AST.TH , Language.Haskell.Tools.AST.Decls , Language.Haskell.Tools.AST.Binds @@ -27,6 +27,7 @@ , Language.Haskell.Tools.AST.Base , Language.Haskell.Tools.AST.Ann , Language.Haskell.Tools.AST.SemaInfoTypes + , Language.Haskell.Tools.AST.SemaInfoClasses , Language.Haskell.Tools.AST.Instances , Language.Haskell.Tools.AST.Instances.Eq