diff --git a/lens-family-th.cabal b/lens-family-th.cabal
--- a/lens-family-th.cabal
+++ b/lens-family-th.cabal
@@ -1,5 +1,5 @@
 name:                lens-family-th
-version:             0.5.0.2
+version:             0.5.1.0
 synopsis:            Generate lens-family style lenses
 
 description:         (see README.md)
@@ -7,7 +7,7 @@
 license:             BSD3
 license-file:        LICENSE
 author:              Dan Burton
-copyright:           (c) Dan Burton 2012-2018
+copyright:           (c) Dan Burton 2012-2020
 
 homepage:            http://github.com/DanBurton/lens-family-th#readme
 bug-reports:         http://github.com/DanBurton/lens-family-th/issues
@@ -15,19 +15,21 @@
 
 category:            Data
 build-type:          Simple
-cabal-version:       >=1.8
+cabal-version:       >=1.10
 
 extra-source-files:  README.md
 
 library
+  default-language:  Haskell2010
   hs-source-dirs:    src
   exposed-modules:   Lens.Family.TH
                    , Lens.Family2.TH
                    , Lens.Family.THCore
-  build-depends:     base >= 4.9 && < 4.13
-                   , template-haskell >= 2.11 && < 2.15
+  build-depends:     base >= 4.9 && < 4.15
+                   , template-haskell >= 2.11 && < 2.17
 
 test-suite lens-family-th-test
+  default-language:  Haskell2010
   type:              exitcode-stdio-1.0
   hs-source-dirs:    test
   main-is:           Test.hs
diff --git a/src/Lens/Family/THCore.hs b/src/Lens/Family/THCore.hs
--- a/src/Lens/Family/THCore.hs
+++ b/src/Lens/Family/THCore.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE CPP             #-}
 
 -- | The shared functionality behind Lens.Family.TH and Lens.Family2.TH.
 module Lens.Family.THCore (
@@ -208,7 +209,12 @@
 argTupFrom :: [Name] -> Exp
 argTupFrom [] = unitExp
 argTupFrom [x] = VarE x
-argTupFrom xs = TupE (map VarE xs)
+argTupFrom xs =
+#if MIN_VERSION_template_haskell(2,16,0)
+  TupE $ map (Just . VarE) xs
+#else
+  TupE $ map VarE xs
+#endif
 
 argVarsFrom :: [Name] -> [Exp]
 argVarsFrom = map VarE
