diff --git a/aeson-schema.cabal b/aeson-schema.cabal
--- a/aeson-schema.cabal
+++ b/aeson-schema.cabal
@@ -1,5 +1,5 @@
 name:                aeson-schema
-version:             0.3.0.0
+version:             0.3.0.1
 synopsis:            Haskell JSON schema validator and parser generator
 -- description:         
 homepage:            https://github.com/timjb/aeson-schema
@@ -39,7 +39,7 @@
                        th-lift >= 0.7 && < 0.8,
                        mtl >= 2 && < 3,
                        transformers >= 0.3.0.0 && < 0.5,
-                       QuickCheck >= 2.4.2 && < 2.8,
+                       QuickCheck >= 2.4.2 && < 2.9,
                        syb >= 0.4.4 && < 0.5,
                        bytestring >= 0.9.2.1 && < 0.11,
                        scientific >= 0.3.3.7 && < 0.4,
diff --git a/src/Data/Aeson/Schema/CodeGen.hs b/src/Data/Aeson/Schema/CodeGen.hs
--- a/src/Data/Aeson/Schema/CodeGen.hs
+++ b/src/Data/Aeson/Schema/CodeGen.hs
@@ -288,7 +288,7 @@
 cleanName :: String -> String
 cleanName str = charFirst
   where
-    isAllowed c = isAlphaNum c || c `elem` "'_"
+    isAllowed c = isAlphaNum c || c `elem` ("'_"::String)
     cleaned = filter isAllowed str
     charFirst = case cleaned of
       (chr:_) | not (isLetter chr || chr == '_') -> '_':cleaned
diff --git a/src/Data/Aeson/TH/Lift.hs b/src/Data/Aeson/TH/Lift.hs
--- a/src/Data/Aeson/TH/Lift.hs
+++ b/src/Data/Aeson/TH/Lift.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
 module Data.Aeson.TH.Lift () where
@@ -14,8 +15,10 @@
 instance Lift Text where
   lift txt = [| pack $(lift (unpack txt)) |]
 
+#if ! MIN_VERSION_template_haskell(2,10,0)
 instance Lift Double where
   lift d = [| fromRational $(litE . rationalL . toRational $ d) :: Double |]
+#endif
 
 instance (Lift k, Lift v) => Lift (HM.HashMap k v) where
   lift hm = [| HM.fromList $(lift (HM.toList hm)) |]
