GHC.Types.Int (ConT (Name (OccName "Int") (NameG (TcClsName) (PkgName "ghc-prim") (ModName "GHC.Types")))) Data.Proxy.Proxy (ConT (Name (OccName "Proxy") (NameG (TcClsName) (PkgName "base") (ModName "Data.Proxy")))) GHC.Maybe.Just (ConT (Name (OccName "Just") (NameG (DataName) (PkgName "base") (ModName "GHC.Maybe")))) Main.Foo (ConT (Name (OccName "Foo") (NameG (TcClsName) (PkgName "main") (ModName "Main")))) Main.Foo (ConT (Name (OccName "Foo") (NameG (DataName) (PkgName "main") (ModName "Main")))) GHC.Types.[] GHC.Types.Int (AppT (ConT (Name (OccName "[]") (NameG (TcClsName) (PkgName "ghc-prim") (ModName "GHC.Types")))) (ConT (Name (OccName "Int") (NameG (TcClsName) (PkgName "ghc-prim") (ModName "GHC.Types"))))) GHC.Show.Show (ConT (Name (OccName "Show") (NameG (TcClsName) (PkgName "base") (ModName "GHC.Show")))) 1 (LitT (NumTyLit (1))) "string" (LitT (StrTyLit "string")) 'c' (LitT (CharTyLit ('c'))) GHC.Types.Int (ConT (Name (OccName "Int") (NameG (TcClsName) (PkgName "ghc-prim") (ModName "GHC.Types"))))