diff --git a/ghc/compiler/compMan/CmLink.lhs b/ghc/compiler/compMan/CmLink.lhs
index 8a4c800a66ff31836c1b4ae60d870d149cb66055..ba768882ce25c89a39145a5650a4b404642ce2be 100644
--- a/ghc/compiler/compMan/CmLink.lhs
+++ b/ghc/compiler/compMan/CmLink.lhs
@@ -15,8 +15,6 @@ where
 import Interpreter
 import CmStaticInfo	( PackageConfigInfo )
 import Module		( ModuleName, PackageName )
-import InterpSyn	( UnlinkedIBind, HValue, binder )
-import Module		( Module )
 import Outputable	( SDoc )
 import FiniteMap	( emptyFM )
 import Digraph		( SCC(..), flattenSCC )
@@ -58,7 +56,7 @@ instance Outputable Unlinked where
    ppr (DotO path)   = text "DotO" <+> text path
    ppr (DotA path)   = text "DotA" <+> text path
    ppr (DotDLL path) = text "DotDLL" <+> text path
-   ppr (Trees binds _) = text "Trees" <+> ppr (map binder binds)
+   ppr (Trees binds _) = text "Trees" <+> ppr binds
 
 
 isObject (DotO _) = True
diff --git a/ghc/compiler/ghci/InterpSyn.lhs b/ghc/compiler/ghci/InterpSyn.lhs
index 3da61c863bd0a6a77c23294c6f36d60b2ffd3780..a458fde3bdfd297794c8e84a99e5b0abe2910a5c 100644
--- a/ghc/compiler/ghci/InterpSyn.lhs
+++ b/ghc/compiler/ghci/InterpSyn.lhs
@@ -251,6 +251,9 @@ instance Outputable HValue where
    ppr x = text (show (A# (unsafeCoerce# x :: Addr#)))
         -- ptext SLIT("<O>")  -- unidentified lurking object
 
+instance (Outputable var, Outputable con) => Outputable (IBind con var) where
+  ppr ibind = pprIBind ibind
+
 pprIBind :: (Outputable var, Outputable con) => IBind con var -> SDoc
 pprIBind (IBind v e) = ppr v <+> char '=' <+> pprIExpr e