==================== Renamer ==================== (Just ((,,,) (HsGroup (NoExtField) (XValBindsLR (NValBinds [((,) (NonRecursive) {Bag(Located (HsBind Name)): [({ DumpRenamedAst.hs:26:1-23 } (FunBind {NameSet: []} ({ DumpRenamedAst.hs:26:1-4 } {Name: DumpRenamedAst.main}) (MG (NoExtField) ({ DumpRenamedAst.hs:26:1-23 } [({ DumpRenamedAst.hs:26:1-23 } (Match (NoExtField) (FunRhs ({ DumpRenamedAst.hs:26:1-4 } {Name: DumpRenamedAst.main}) (Prefix) (NoSrcStrict)) [] (GRHSs (NoExtField) [({ DumpRenamedAst.hs:26:6-23 } (GRHS (NoExtField) [] ({ DumpRenamedAst.hs:26:8-23 } (HsApp (NoExtField) ({ DumpRenamedAst.hs:26:8-15 } (HsVar (NoExtField) ({ DumpRenamedAst.hs:26:8-15 } {Name: System.IO.putStrLn}))) ({ DumpRenamedAst.hs:26:17-23 } (HsLit (NoExtField) (HsString (SourceText "\"hello\"") {FastString: "hello"})))))))] ({ } (EmptyLocalBinds (NoExtField))))))]) (FromSource)) []))]})] [])) [] [(TyClGroup (NoExtField) [({ DumpRenamedAst.hs:9:1-30 } (DataDecl (DataDeclRn (True) {NameSet: [{Name: DumpRenamedAst.Peano}]}) ({ DumpRenamedAst.hs:9:6-10 } {Name: DumpRenamedAst.Peano}) (HsQTvs [] []) (Prefix) (HsDataDefn (NoExtField) (DataType) ({ } []) (Nothing) (Nothing) [({ DumpRenamedAst.hs:9:14-17 } (ConDeclH98 (NoExtField) ({ DumpRenamedAst.hs:9:14-17 } {Name: DumpRenamedAst.Zero}) ({ } (False)) [] (Nothing) (PrefixCon []) (Nothing))) ,({ DumpRenamedAst.hs:9:21-30 } (ConDeclH98 (NoExtField) ({ DumpRenamedAst.hs:9:21-24 } {Name: DumpRenamedAst.Succ}) ({ } (False)) [] (Nothing) (PrefixCon [({ DumpRenamedAst.hs:9:26-30 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:9:26-30 } {Name: DumpRenamedAst.Peano})))]) (Nothing)))] ({ } []))))] [] [] []) ,(TyClGroup (NoExtField) [({ DumpRenamedAst.hs:11:1-39 } (FamDecl (NoExtField) (FamilyDecl (NoExtField) (ClosedTypeFamily (Just [({ DumpRenamedAst.hs:12:3-36 } (HsIB [{Name: a} ,{Name: as}] (FamEqn (NoExtField) ({ DumpRenamedAst.hs:12:3-8 } {Name: DumpRenamedAst.Length}) (Nothing) [(HsValArg ({ DumpRenamedAst.hs:12:10-17 } (HsParTy (NoExtField) ({ DumpRenamedAst.hs:12:11-16 } (HsOpTy (NoExtField) ({ DumpRenamedAst.hs:12:11 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:12:11 } {Name: a}))) ({ DumpRenamedAst.hs:12:13 } {Name: :}) ({ DumpRenamedAst.hs:12:15-16 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:12:15-16 } {Name: as}))))))))] (Prefix) ({ DumpRenamedAst.hs:12:21-36 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:12:21-24 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:12:21-24 } {Name: DumpRenamedAst.Succ}))) ({ DumpRenamedAst.hs:12:26-36 } (HsParTy (NoExtField) ({ DumpRenamedAst.hs:12:27-35 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:12:27-32 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:12:27-32 } {Name: DumpRenamedAst.Length}))) ({ DumpRenamedAst.hs:12:34-35 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:12:34-35 } {Name: as})))))))))))) ,({ DumpRenamedAst.hs:13:3-24 } (HsIB [] (FamEqn (NoExtField) ({ DumpRenamedAst.hs:13:3-8 } {Name: DumpRenamedAst.Length}) (Nothing) [(HsValArg ({ DumpRenamedAst.hs:13:10-12 } (HsExplicitListTy (NoExtField) (IsPromoted) [])))] (Prefix) ({ DumpRenamedAst.hs:13:21-24 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:13:21-24 } {Name: DumpRenamedAst.Zero}))))))])) ({ DumpRenamedAst.hs:11:13-18 } {Name: DumpRenamedAst.Length}) (HsQTvs [{Name: k}] [({ DumpRenamedAst.hs:11:21-29 } (KindedTyVar (NoExtField) ({ DumpRenamedAst.hs:11:21-22 } {Name: as}) ({ DumpRenamedAst.hs:11:27-29 } (HsListTy (NoExtField) ({ DumpRenamedAst.hs:11:28 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:11:28 } {Name: k})))))))]) (Prefix) ({ DumpRenamedAst.hs:11:32-39 } (KindSig (NoExtField) ({ DumpRenamedAst.hs:11:35-39 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:11:35-39 } {Name: DumpRenamedAst.Peano}))))) (Nothing))))] [] [] []) ,(TyClGroup (NoExtField) [({ DumpRenamedAst.hs:15:1-33 } (FamDecl (NoExtField) (FamilyDecl (NoExtField) (DataFamily) ({ DumpRenamedAst.hs:15:13-15 } {Name: DumpRenamedAst.Nat}) (HsQTvs [{Name: k}] []) (Prefix) ({ DumpRenamedAst.hs:15:17-33 } (KindSig (NoExtField) ({ DumpRenamedAst.hs:15:20-33 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:15:20 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:15:20 } {Name: k}))) ({ DumpRenamedAst.hs:15:25-33 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:15:25 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:15:25 } {Name: k}))) ({ DumpRenamedAst.hs:15:30-33 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:15:30-33 } {Name: GHC.Types.Type}))))))))) (Nothing))))] [] [] [({ DumpRenamedAst.hs:(18,1)-(19,45) } (DataFamInstD (NoExtField) (DataFamInstDecl (HsIB [{Name: a} ,{Name: k}] (FamEqn (NoExtField) ({ DumpRenamedAst.hs:18:18-20 } {Name: DumpRenamedAst.Nat}) (Nothing) [(HsValArg ({ DumpRenamedAst.hs:18:22-37 } (HsParTy (NoExtField) ({ DumpRenamedAst.hs:18:23-36 } (HsKindSig (NoExtField) ({ DumpRenamedAst.hs:18:23 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:18:23 } {Name: a}))) ({ DumpRenamedAst.hs:18:28-36 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:18:28 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:18:28 } {Name: k}))) ({ DumpRenamedAst.hs:18:33-36 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:18:33-36 } {Name: GHC.Types.Type}))))))))))] (Prefix) (HsDataDefn (NoExtField) (NewType) ({ } []) (Nothing) (Just ({ DumpRenamedAst.hs:18:42-60 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:18:42-52 } (HsParTy (NoExtField) ({ DumpRenamedAst.hs:18:43-51 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:18:43 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:18:43 } {Name: k}))) ({ DumpRenamedAst.hs:18:48-51 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:18:48-51 } {Name: GHC.Types.Type}))))))) ({ DumpRenamedAst.hs:18:57-60 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:18:57-60 } {Name: GHC.Types.Type})))))) [({ DumpRenamedAst.hs:19:3-45 } (ConDeclGADT (NoExtField) [({ DumpRenamedAst.hs:19:3-5 } {Name: DumpRenamedAst.Nat})] ({ DumpRenamedAst.hs:19:10-45 } (False)) (HsQTvs [{Name: f} ,{Name: g}] []) (Nothing) (PrefixCon [({ DumpRenamedAst.hs:19:10-34 } (HsParTy (NoExtField) ({ DumpRenamedAst.hs:19:11-33 } (HsForAllTy (NoExtField) (ForallInvis) [({ DumpRenamedAst.hs:19:18-19 } (UserTyVar (NoExtField) ({ DumpRenamedAst.hs:19:18-19 } {Name: xx})))] ({ DumpRenamedAst.hs:19:22-33 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:19:22-25 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:19:22 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:22 } {Name: f}))) ({ DumpRenamedAst.hs:19:24-25 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:24-25 } {Name: xx}))))) ({ DumpRenamedAst.hs:19:30-33 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:19:30 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:30 } {Name: g}))) ({ DumpRenamedAst.hs:19:32-33 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:32-33 } {Name: xx})))))))))))]) ({ DumpRenamedAst.hs:19:39-45 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:19:39-43 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:19:39-41 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:39-41 } {Name: DumpRenamedAst.Nat}))) ({ DumpRenamedAst.hs:19:43 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:43 } {Name: f}))))) ({ DumpRenamedAst.hs:19:45 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:19:45 } {Name: g}))))) (Nothing)))] ({ } [])))))))]) ,(TyClGroup (NoExtField) [({ DumpRenamedAst.hs:21:1-29 } (DataDecl (DataDeclRn (False) {NameSet: [{Name: a} ,{Name: f}]}) ({ DumpRenamedAst.hs:21:6 } {Name: DumpRenamedAst.T}) (HsQTvs [{Name: k}] [({ DumpRenamedAst.hs:21:8 } (UserTyVar (NoExtField) ({ DumpRenamedAst.hs:21:8 } {Name: f}))) ,({ DumpRenamedAst.hs:21:11-16 } (KindedTyVar (NoExtField) ({ DumpRenamedAst.hs:21:11 } {Name: a}) ({ DumpRenamedAst.hs:21:16 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:21:16 } {Name: k})))))]) (Prefix) (HsDataDefn (NoExtField) (DataType) ({ } []) (Nothing) (Nothing) [({ DumpRenamedAst.hs:21:21-29 } (ConDeclH98 (NoExtField) ({ DumpRenamedAst.hs:21:21-23 } {Name: DumpRenamedAst.MkT}) ({ } (False)) [] (Nothing) (PrefixCon [({ DumpRenamedAst.hs:21:25-29 } (HsParTy (NoExtField) ({ DumpRenamedAst.hs:21:26-28 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:21:26 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:21:26 } {Name: f}))) ({ DumpRenamedAst.hs:21:28 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:21:28 } {Name: a})))))))]) (Nothing)))] ({ } []))))] [] [] []) ,(TyClGroup (NoExtField) [({ DumpRenamedAst.hs:23:1-48 } (FamDecl (NoExtField) (FamilyDecl (NoExtField) (ClosedTypeFamily (Just [({ DumpRenamedAst.hs:24:3-30 } (HsIB [{Name: a} ,{Name: f}] (FamEqn (NoExtField) ({ DumpRenamedAst.hs:24:3-4 } {Name: DumpRenamedAst.F1}) (Nothing) [(HsTypeArg { DumpRenamedAst.hs:24:6-11 } ({ DumpRenamedAst.hs:24:7-11 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:7-11 } {Name: DumpRenamedAst.Peano})))) ,(HsValArg ({ DumpRenamedAst.hs:24:13 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:13 } {Name: a})))) ,(HsValArg ({ DumpRenamedAst.hs:24:15 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:15 } {Name: f}))))] (Prefix) ({ DumpRenamedAst.hs:24:19-30 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:24:19-28 } (HsAppTy (NoExtField) ({ DumpRenamedAst.hs:24:19-26 } (HsAppKindTy { DumpRenamedAst.hs:24:21-26 } ({ DumpRenamedAst.hs:24:19 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:19 } {Name: DumpRenamedAst.T}))) ({ DumpRenamedAst.hs:24:22-26 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:22-26 } {Name: DumpRenamedAst.Peano}))))) ({ DumpRenamedAst.hs:24:28 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:28 } {Name: f}))))) ({ DumpRenamedAst.hs:24:30 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:24:30 } {Name: a}))))))))])) ({ DumpRenamedAst.hs:23:13-14 } {Name: DumpRenamedAst.F1}) (HsQTvs [{Name: k}] [({ DumpRenamedAst.hs:23:17-22 } (KindedTyVar (NoExtField) ({ DumpRenamedAst.hs:23:17 } {Name: a}) ({ DumpRenamedAst.hs:23:22 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:23:22 } {Name: k}))))) ,({ DumpRenamedAst.hs:23:26-39 } (KindedTyVar (NoExtField) ({ DumpRenamedAst.hs:23:26 } {Name: f}) ({ DumpRenamedAst.hs:23:31-39 } (HsFunTy (NoExtField) ({ DumpRenamedAst.hs:23:31 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:23:31 } {Name: k}))) ({ DumpRenamedAst.hs:23:36-39 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:23:36-39 } {Name: GHC.Types.Type})))))))]) (Prefix) ({ DumpRenamedAst.hs:23:42-48 } (KindSig (NoExtField) ({ DumpRenamedAst.hs:23:45-48 } (HsTyVar (NoExtField) (NotPromoted) ({ DumpRenamedAst.hs:23:45-48 } {Name: GHC.Types.Type}))))) (Nothing))))] [] [] [])] [] [] [] [] [] [] [] []) [({ DumpRenamedAst.hs:4:8-21 } (ImportDecl (NoExtField) (NoSourceText) ({ DumpRenamedAst.hs:4:8-21 } {ModuleName: Prelude}) (Nothing) (False) (False) (NotQualified) (True) (Nothing) (Nothing))) ,({ DumpRenamedAst.hs:5:1-16 } (ImportDecl (NoExtField) (NoSourceText) ({ DumpRenamedAst.hs:5:8-16 } {ModuleName: Data.Kind}) (Nothing) (False) (False) (NotQualified) (False) (Nothing) (Nothing))) ,({ DumpRenamedAst.hs:7:1-23 } (ImportDecl (NoExtField) (NoSourceText) ({ DumpRenamedAst.hs:7:8-16 } {ModuleName: Data.Kind}) (Nothing) (False) (False) (NotQualified) (False) (Nothing) (Just ((,) (False) ({ DumpRenamedAst.hs:7:18-23 } [({ DumpRenamedAst.hs:7:19-22 } (IEThingAbs (NoExtField) ({ DumpRenamedAst.hs:7:19-22 } (IEName ({ DumpRenamedAst.hs:7:19-22 } {Name: GHC.Types.Type})))))])))))] (Nothing) (Nothing)))