diff --git a/Haxl/Core.hs b/Haxl/Core.hs
--- a/Haxl/Core.hs
+++ b/Haxl/Core.hs
@@ -62,7 +62,7 @@
 
   -- * Building data sources
   DataSource(..),
-  Show1(..),
+  ShowP(..),
   DataSourceName(..),
   Request,
   BlockedFetch(..),
@@ -97,5 +97,5 @@
 import Haxl.Core.Monad hiding (unsafeLiftIO {- Ask nicely to get this! -})
 import Haxl.Core.Types
 import Haxl.Core.Exception
-import Haxl.Core.Show1 (Show1(..))
+import Haxl.Core.ShowP (ShowP(..))
 import Haxl.Core.StateStore
diff --git a/Haxl/Core/Monad.hs b/Haxl/Core/Monad.hs
--- a/Haxl/Core/Monad.hs
+++ b/Haxl/Core/Monad.hs
@@ -54,7 +54,7 @@
   ) where
 
 import Haxl.Core.Types
-import Haxl.Core.Show1
+import Haxl.Core.ShowP
 import Haxl.Core.StateStore
 import Haxl.Core.Exception
 import Haxl.Core.RequestStore
@@ -780,16 +780,18 @@
 
   ifTrace f 3 $
     forM_ jobs $ \(BlockedFetches reqs) ->
-      forM_ reqs $ \(BlockedFetch r _) -> putStrLn (show1 r)
+      forM_ reqs $ \(BlockedFetch r _) -> putStrLn (showp r)
 
   let
     applyFetch (i, BlockedFetches (reqs :: [BlockedFetch r])) =
       case stateGet (states env) of
         Nothing ->
-          return (SyncFetch (mapM_ (setError (const e)) reqs))
-          where req :: r a; req = undefined
-                e = DataSourceError $
-                      "data source not initialized: " <> dataSourceName req
+          return (SyncFetch (mapM_ (setError e) reqs))
+          where e req = DataSourceError $
+                  "data source not initialized: " <>
+                  dataSourceName req <>
+                  ": " <>
+                  Text.pack (showp req)
         Just state ->
           return $ wrapFetchInTrace i (length reqs)
                     (dataSourceName (undefined :: r a))
diff --git a/Haxl/Core/Show1.hs b/Haxl/Core/Show1.hs
deleted file mode 100644
--- a/Haxl/Core/Show1.hs
+++ /dev/null
@@ -1,17 +0,0 @@
--- Copyright (c) 2014-present, Facebook, Inc.
--- All rights reserved.
---
--- This source code is distributed under the terms of a BSD license,
--- found in the LICENSE file. An additional grant of patent rights can
--- be found in the PATENTS file.
-
--- Most users should import "Haxl.Core" instead of importing this
--- module directly.
-module Haxl.Core.Show1
-  ( Show1(..)
-  ) where
-
--- | A class of type constructors for which we can show all
--- parameterizations.
-class Show1 f where
-  show1 :: f a -> String
diff --git a/Haxl/Core/ShowP.hs b/Haxl/Core/ShowP.hs
new file mode 100644
--- /dev/null
+++ b/Haxl/Core/ShowP.hs
@@ -0,0 +1,17 @@
+-- Copyright (c) 2014-present, Facebook, Inc.
+-- All rights reserved.
+--
+-- This source code is distributed under the terms of a BSD license,
+-- found in the LICENSE file. An additional grant of patent rights can
+-- be found in the PATENTS file.
+
+-- Most users should import "Haxl.Core" instead of importing this
+-- module directly.
+module Haxl.Core.ShowP
+  ( ShowP(..)
+  ) where
+
+-- | A class of type constructors for which we can show all
+-- parameterizations.
+class ShowP f where
+  showp :: f a -> String
diff --git a/Haxl/Core/Types.hs b/Haxl/Core/Types.hs
--- a/Haxl/Core/Types.hs
+++ b/Haxl/Core/Types.hs
@@ -114,7 +114,7 @@
 #if __GLASGOW_HASKELL__ < 708
 import Haxl.Core.Util (tryReadMVar)
 #endif
-import Haxl.Core.Show1
+import Haxl.Core.ShowP
 import Haxl.Core.StateStore
 
 -- ---------------------------------------------------------------------------
@@ -330,7 +330,7 @@
 -- For a complete example data source, see
 -- <https://github.com/facebook/Haxl/tree/master/example Examples>.
 --
-class (DataSourceName req, StateKey req, Show1 req) => DataSource u req where
+class (DataSourceName req, StateKey req, ShowP req) => DataSource u req where
 
   -- | Issues a list of fetches to this 'DataSource'. The 'BlockedFetch'
   -- objects contain both the request and the 'ResultVar's into which to put
@@ -352,10 +352,10 @@
   -- take a dummy request.
   dataSourceName :: req a -> Text
 
--- The 'Show1' class is a workaround for the fact that we can't write
+-- The 'ShowP' class is a workaround for the fact that we can't write
 -- @'Show' (req a)@ as a superclass of 'DataSource', without also
 -- parameterizing 'DataSource' over @a@, which is a pain (I tried
--- it). 'Show1' seems fairly benign, though.
+-- it). 'ShowP' seems fairly benign, though.
 
 -- | A convenience only: package up 'Eq', 'Hashable', 'Typeable', and 'Show'
 -- for requests into a single constraint.
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,6 @@
+# Changes in version 0.5.0.0
+  * Rename 'Show1' to 'ShowP' ([#62](https://github.com/facebook/Haxl/issues/62))
+
 # Changes in version 0.3.0.0
 
   * Some performance improvements, including avoiding quadratic
diff --git a/haxl.cabal b/haxl.cabal
--- a/haxl.cabal
+++ b/haxl.cabal
@@ -1,5 +1,5 @@
 name:                haxl
-version:             0.4.0.2
+version:             0.5.0.0
 synopsis:            A Haskell library for efficient, concurrent,
                      and concise data access.
 homepage:            https://github.com/facebook/Haxl
@@ -16,7 +16,7 @@
 tested-with:
   GHC==7.8.4,
   GHC==7.10.3,
-  GHC==8.0.1
+  GHC==8.0.2
 
 description:
   Haxl is a library and EDSL for efficient scheduling of concurrent data
@@ -43,23 +43,22 @@
 
   build-depends:
     HUnit >= 1.2 && < 1.6,
-    aeson >= 0.6 && < 1.1,
+    aeson >= 0.6 && < 1.2,
     base == 4.*,
     binary >= 0.7 && < 0.9,
     bytestring >= 0.9 && < 0.11,
     containers == 0.5.*,
     deepseq,
-    directory >= 1.1 && < 1.3,
     exceptions >=0.8 && <0.9,
     filepath >= 1.3 && < 1.5,
     ghc-prim,
     hashable == 1.2.*,
     pretty == 1.1.*,
     text >= 1.1.0.1 && < 1.3,
-    time >= 1.4 && < 1.7,
+    time >= 1.4 && < 1.8,
     transformers,
     unordered-containers == 0.2.*,
-    vector >= 0.10 && <0.12
+    vector >= 0.10 && <0.13
 
   exposed-modules:
     Haxl.Core,
@@ -69,7 +68,7 @@
     Haxl.Core.Monad,
     Haxl.Core.RequestStore,
     Haxl.Core.StateStore,
-    Haxl.Core.Show1,
+    Haxl.Core.ShowP,
     Haxl.Core.Types,
     Haxl.Prelude
 
diff --git a/tests/ExampleDataSource.hs b/tests/ExampleDataSource.hs
--- a/tests/ExampleDataSource.hs
+++ b/tests/ExampleDataSource.hs
@@ -65,7 +65,7 @@
 
 deriving instance Show (ExampleReq a)
 
-instance Show1 ExampleReq where show1 = show
+instance ShowP ExampleReq where showp = show
 
 instance Hashable (ExampleReq a) where
    hashWithSalt s (CountAardvarks a) = hashWithSalt s (0::Int,a)
diff --git a/tests/MockTAO.hs b/tests/MockTAO.hs
--- a/tests/MockTAO.hs
+++ b/tests/MockTAO.hs
@@ -37,7 +37,7 @@
 deriving instance Show (TAOReq a)
 deriving instance Eq (TAOReq a)
 
-instance Show1 TAOReq where show1 = show
+instance ShowP TAOReq where showp = show
 
 instance Hashable (TAOReq a) where
   hashWithSalt s (AssocRangeId2s a b) = hashWithSalt s (a,b)
