diff --git a/interpolatedstring-perl6.cabal b/interpolatedstring-perl6.cabal
--- a/interpolatedstring-perl6.cabal
+++ b/interpolatedstring-perl6.cabal
@@ -1,5 +1,5 @@
 Name:          interpolatedstring-perl6
-Version:       0.6
+Version:       0.8
 License:       BSD3
 License-file:  LICENSE
 Category:      Data
@@ -7,15 +7,19 @@
 Copyright:     Audrey Tang
 Maintainer:    Audrey Tang <audreyt@audreyt.org>
 Stability:     unstable
-Cabal-Version: >= 1.2
+Cabal-Version: >= 1.6
 Build-Depends: base
 Build-Type:    Custom
 Synopsis:      QuasiQuoter for Perl6-style multi-line interpolated strings
 Description:   QuasiQuoter for Perl6-style multi-line interpolated strings with "q", "qq" and "qc" support.
 Data-Files:    tests/Test.hs
 
+Source-Repository head
+    type: git
+    location: git://github.com/audreyt/interpolatedstring-perl6.git
+
 library
     extensions:      TemplateHaskell, TypeSynonymInstances, FlexibleInstances, UndecidableInstances, OverlappingInstances
-    build-depends:   base < 5, template-haskell, haskell-src-meta-mwotton
+    build-depends:   base > 4 && < 5, template-haskell >= 2.5, haskell-src-meta >= 0.3
     hs-source-dirs:  src
     exposed-modules: Text.InterpolatedString.Perl6
diff --git a/src/Text/InterpolatedString/Perl6.hs b/src/Text/InterpolatedString/Perl6.hs
--- a/src/Text/InterpolatedString/Perl6.hs
+++ b/src/Text/InterpolatedString/Perl6.hs
@@ -187,15 +187,21 @@
 -- | QuasiQuoter for interpolating '$var' and '{expr}' into a string literal. The pattern portion is undefined.
 qq :: QuasiQuoter
 qq = QuasiQuoter (makeExpr . parseQQ [] . filter (/= '\r'))
-    $ error "Cannot use qq as a pattern"
+                 (error "Cannot use qq as a pattern")
+                 (error "Cannot use qq as a type")
+                 (error "Cannot use qq as a dec")
 
 -- | QuasiQuoter for interpolating '{expr}' into a string literal. The pattern portion is undefined.
 qc :: QuasiQuoter
 qc = QuasiQuoter (makeExpr . parseQC [] . filter (/= '\r'))
-    $ error "Cannot use qc as a pattern"
+                 (error "Cannot use qc as a pattern")
+                 (error "Cannot use qc as a type")
+                 (error "Cannot use qc as a dec")
 
 -- | QuasiQuoter for a non-interpolating string literal. The pattern portion is undefined.
 q :: QuasiQuoter
 q = QuasiQuoter ((\a -> [|a|]) . filter (/= '\r'))
-    $ error "Cannot use q as a pattern"
+                 (error "Cannot use q as a pattern")
+                 (error "Cannot use q as a type")
+                 (error "Cannot use q as a dec")
 
