[when printing lambdacube, show when type annotation differs from infered type
John Meacham <john@repetae.net>**20060228035531] hunk ./Main.hs 9
+import Maybe
hunk ./Main.hs 700
-    let ty = case inferType dataTable [] e of
-            Left err -> vcat $ map text (intersperse "---" $ tail err)
-            Right ty -> pprint ty
-    putErrLn (render $ hang 4 (pprint tvr <+> text "::" <+> ty))
+    let (ty,pty) = case inferType dataTable [] e of
+            Left err -> (Unknown,vcat $ map text (intersperse "---" $ tail err))
+            Right ty -> (ty,pprint ty)
+        tmatch = isJust $ match (const Nothing) [] ty (tvrType tvr)
+    putErrLn (render $ hang 4 (pprint tvr <+> text "::" <+> pty))
+    when (not tmatch) $
+        putErrLn (render $ hang 4 (pprint tvr <+> text "::" <+> pprint (tvrType tvr)))