diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,8 @@
+0.5.0.8 (15 April 2014)
+-----------------------
+
+  - Allow `haskell-src-exts-1.15`
+
 0.5.0.7 (7 April 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.7
+version:             0.5.0.8
 synopsis:            hint-based build service for the diagrams graphics EDSL.
 
 description:         @diagrams-builder@ provides backend-agnostic tools for
@@ -55,7 +55,7 @@
                        filepath,
                        transformers >= 0.3 && < 0.4,
                        split >= 0.2 && < 0.3,
-                       haskell-src-exts >= 1.14 && < 1.15,
+                       haskell-src-exts >= 1.14 && < 1.16,
                        cmdargs >= 0.6 && < 0.11,
                        lens >= 3.9 && < 4.2,
                        hashable >= 1.1 && < 1.3,
diff --git a/src/Diagrams/Builder.hs b/src/Diagrams/Builder.hs
--- a/src/Diagrams/Builder.hs
+++ b/src/Diagrams/Builder.hs
@@ -47,6 +47,7 @@
 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)
@@ -119,7 +120,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 +171,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)
      )
