diff --git a/Data/Lens/Template.hs b/Data/Lens/Template.hs
--- a/Data/Lens/Template.hs
+++ b/Data/Lens/Template.hs
@@ -6,7 +6,7 @@
 accessor objects for them automatically.
 -}
 module Data.Lens.Template (
-   nameMakeLens, makeLenses, makeLens,
+   nameMakeLens, makeLenses, makeLens, decMakeLens
    ) where
 
 import Language.Haskell.TH.Syntax
@@ -78,22 +78,21 @@
     info <- reify t
     reified <- case info of
                     TyConI dec -> return dec
-                    _ -> fail errmsg
-    (params, cons) <- case reified of
+                    _ -> fail $ errmsg t
+    decMakeLens t reified namer
+
+decMakeLens :: Name -> Dec -> (String -> Maybe String) -> Q [Dec]
+decMakeLens t dec namer = do
+    (params, cons) <- case dec of
                  DataD _ _ params cons' _ -> return (params, cons')
                  NewtypeD _ _ params con' _ -> return (params, [con'])
-                 _ -> fail errmsg
+                 _ -> fail $ errmsg t
     decs <- makeAccs params . nub $ concatMap namedFields cons
     when (null decs) $ qReport False nodefmsg
     return decs
 
     where
 
-    errmsg = "Cannot derive accessors for name " ++ show t ++ " because"
-          ++ "\n it is not a type declared with 'data' or 'newtype'"
-          ++ "\n Did you remember to double-tick the type as in"
-          ++ "\n $(makeLenses ''TheType)?"
-
     nodefmsg = "Warning: No accessors generated from the name " ++ show t
           ++ "\n If you are using makeLenses rather than"
           ++ "\n nameMakeLens, remember accessors are"
@@ -134,3 +133,10 @@
           ]
 
 #endif
+
+errmsg t = "Cannot derive accessors for name " ++ show t ++ " because"
+         ++ "\n it is not a type declared with 'data' or 'newtype'"
+         ++ "\n Did you remember to double-tick the type as in"
+         ++ "\n $(makeLenses ''TheType)?"
+
+
diff --git a/data-lens-template.cabal b/data-lens-template.cabal
--- a/data-lens-template.cabal
+++ b/data-lens-template.cabal
@@ -1,26 +1,26 @@
 name:          data-lens-template
-version:       2.1.3
+version:       2.1.4
 license:       BSD3
 license-file:  LICENSE
 author:        Joel Burget <joelburget@gmail.com>
-maintainer:    Edward Kmett <ekmett@gmail.com>
+maintainer:    Russell O'Connor <roconnor@theorem.ca>
 category:      Data
 synopsis:      Utilities for Data.Lens
 description:   Automatically derive @Lens@es for your data type for use with @Data.Lens@. Note: the code is derived from data-accessor-template <http://hackage.haskell.org/package/data-accessor-template> by Luke Palmer and Henning Thielemann.
 build-type:    Simple
-homepage:      http://github.com/ekmett/data-lens-template/
+homepage:      http://github.com/roconnor/data-lens-template/
 cabal-version: >= 1.6
 
 source-repository head
   type    : git
-  location: git@github.com:ekmett/data-lens-template.git
+  location: git@github.com:roconnor/data-lens-template.git
 
 library
   extensions:       CPP
   other-extensions: TemplateHaskell
 
   build-depends: 
-    data-lens        >= 2.0 && < 2.1,
+    data-lens        >= 2.0 && < 2.11,
     base             >= 1.0 && < 5,
     template-haskell >= 2.4 && < 2.8
 
