diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,10 @@
+0.5.0.11 (2 June 2014)
+----------------------
+
+  - Allow `transformers-0.4`
+  - Allow `lens-4.2`
+  - Allow `mtl-2.2`
+
 0.5.0.10 (21 May 2014)
 ----------------------
 
diff --git a/diagrams-builder.cabal b/diagrams-builder.cabal
--- a/diagrams-builder.cabal
+++ b/diagrams-builder.cabal
@@ -1,5 +1,5 @@
 name:                diagrams-builder
-version:             0.5.0.10
+version:             0.5.0.11
 synopsis:            hint-based build service for the diagrams graphics EDSL.
 
 description:         @diagrams-builder@ provides backend-agnostic tools for
@@ -48,18 +48,18 @@
                        Diagrams.Builder.Modules
                        Diagrams.Builder.CmdLine
   build-depends:       base >=4.2 && < 4.8,
-                       mtl >= 2.1 && < 2.2,
-                       diagrams-lib >=0.6 && < 1.2,
+                       mtl >= 2.1 && < 2.3,
+                       diagrams-lib >=0.6 && < 1.3,
                        hint >= 0.4 && < 0.5,
                        directory,
                        filepath,
-                       transformers >= 0.3 && < 0.4,
+                       transformers >= 0.3 && < 0.5,
                        split >= 0.2 && < 0.3,
                        haskell-src-exts >= 1.14 && < 1.16,
                        cmdargs >= 0.6 && < 0.11,
-                       lens >= 3.9 && < 4.2,
+                       lens >= 3.9 && < 4.3,
                        hashable >= 1.1 && < 1.3,
-                       exceptions >= 0.3 && < 0.6
+                       exceptions >= 0.3 && < 0.7
   hs-source-dirs:      src
   default-language:    Haskell2010
   other-extensions:    StandaloneDeriving,
@@ -97,10 +97,10 @@
                        filepath,
                        directory,
                        diagrams-builder,
-                       diagrams-lib >= 0.6 && < 1.2,
-                       diagrams-cairo >= 0.6 && < 1.2,
+                       diagrams-lib >= 0.6 && < 1.3,
+                       diagrams-cairo >= 0.6 && < 1.3,
                        cmdargs >= 0.6 && < 0.11,
-                       lens >= 3.8 && < 4.2
+                       lens >= 3.8 && < 4.3
 
 executable diagrams-builder-svg
   main-is:             diagrams-builder-svg.hs
@@ -117,8 +117,8 @@
                        filepath,
                        directory,
                        diagrams-builder,
-                       diagrams-lib >= 0.6 && < 1.2,
-                       diagrams-svg >= 0.8.0.1 && < 1.1,
+                       diagrams-lib >= 0.6 && < 1.3,
+                       diagrams-svg >= 0.8.0.1 && < 1.2,
                        blaze-svg >= 0.3.3 && < 0.4,
                        bytestring >= 0.9.2 && < 0.11,
                        cmdargs >= 0.6 && < 0.11
@@ -138,7 +138,7 @@
                        filepath,
                        directory,
                        diagrams-builder,
-                       diagrams-lib >= 0.6 && < 1.2,
-                       diagrams-postscript >= 0.6 && < 1.1,
+                       diagrams-lib >= 0.6 && < 1.3,
+                       diagrams-postscript >= 0.6 && < 1.2,
                        cmdargs >= 0.6 && < 0.11,
-                       lens >= 3.8 && < 4.2
+                       lens >= 3.8 && < 4.3
diff --git a/src/Diagrams/Builder.hs b/src/Diagrams/Builder.hs
--- a/src/Diagrams/Builder.hs
+++ b/src/Diagrams/Builder.hs
@@ -47,11 +47,11 @@
 import           Control.Monad                       (guard, mplus, mzero)
 import           Control.Monad.Catch                 (catchAll)
 import           Control.Monad.Trans.Maybe           (MaybeT, runMaybeT)
+import           Data.Data
 import           Data.Hashable                       (Hashable (..))
 import           Data.List                           (foldl', nub)
 import           Data.List.Split                     (splitOn)
 import           Data.Maybe                          (catMaybes, fromMaybe)
-import           Data.Typeable                       (Typeable)
 import           System.Directory                    (doesFileExist,
                                                       getTemporaryDirectory,
                                                       removeFile)
@@ -119,7 +119,7 @@
 --   expression can be of type @Diagram b v@ or @IO (Diagram b v)@.
 interpretDiagram
   :: forall b v.
-     ( Typeable b, Typeable v
+     ( Typeable b, Typeable v, Data v, Data (Scalar v)
      , InnerSpace v, OrderedField (Scalar v), Backend b v
      )
   => BuildOpts b v
@@ -170,7 +170,7 @@
 --   parse error if the source does not parse, an interpreter error,
 --   or the final result.
 buildDiagram
-  :: ( Typeable b, Typeable v
+  :: ( Typeable b, Typeable v, Data v, Data (Scalar v)
      , InnerSpace v, OrderedField (Scalar v), Backend b v
      , Hashable (Options b v)
      )
