diff --git a/Debug/Show.hs b/Debug/Show.hs
--- a/Debug/Show.hs
+++ b/Debug/Show.hs
@@ -6,7 +6,9 @@
 module Debug.Show (V(V)) where
 
 import Control.Exception
+import Data.Data
 import Data.Maybe
+import Data.Time
 import Foreign.C.Types
 import GHC.Base
 import GHC.IO.Exception
@@ -104,5 +106,33 @@
 instance Show (V RecUpdError) where show (V e) = "RecUpdError: " ++ show e
 instance Show (V SomeAsyncException) where show (V e) = "SomeAsyncException: " ++ show e
 
+#if 0
+-- | Data.Data
+
+instance Show (V DataType) where
+    show (V x) = "mkDataType (" ++ show (dataTypeName x) ++ ") (" ++ (show . V . dataTypeRep) x ++ ")"
+
+instance Show (V DataRep) where
+    show (V (AlgRep constrs)) = "AlgRep [" ++ intercalate ", " (map (show . V) constrs) ++ "]"
+    show (V x) = show x
+
+instance Show (V Constr) where
+    show (V x) = "mkConstr" ++
+                 " (" ++ show (constrtype x) ++ ")" ++
+                 " (" ++ show (showConstr x) ++ ")" ++
+                 " (" ++ show (V (constrFields x)) ++ ")" ++
+                 " (" ++ show (V (constrFixity x)) ++ ")"
+{-
+                 " {conrep = " ++ show (V (constrRep x)) ++
+                 ", constring = " ++ show (V (showConstr x)) ++
+                 ", confields = " ++ show (V (constrFields x)) ++
+                 ", confixity = " ++ show (V (constrFixity x)) ++
+                 ", datatype = " ++ show (V (constrtype x)) ++ "}"
+-}
+#endif
+
 maybeFrom :: Maybe c -> c -> c
 maybeFrom = flip fromMaybe
+
+instance Show (V UTCTime) where
+    show (V t) = "(read " ++ show (show t) ++ " :: UTCTime)"
diff --git a/show-please.cabal b/show-please.cabal
--- a/show-please.cabal
+++ b/show-please.cabal
@@ -1,5 +1,5 @@
 Name:           show-please
-Version:        0.3
+Version:        0.4
 License:        BSD3
 Author:         David Fox <dsf@seereason.com>
 Category:       debug
