diff --git a/Data/Invertible/TH.hs b/Data/Invertible/TH.hs
--- a/Data/Invertible/TH.hs
+++ b/Data/Invertible/TH.hs
@@ -49,8 +49,16 @@
 patToExp :: TH.Pat -> TH.Exp
 patToExp (TH.LitP l) = TH.LitE l
 patToExp (TH.VarP v) = TH.VarE v
-patToExp (TH.TupP l) = TH.TupE $ map patToExp l
-patToExp (TH.UnboxedTupP l) = TH.UnboxedTupE $ map patToExp l
+patToExp (TH.TupP l) = TH.TupE $ map (
+#if MIN_VERSION_template_haskell(2,16,0)
+  Just .
+#endif
+  patToExp) l
+patToExp (TH.UnboxedTupP l) = TH.UnboxedTupE $ map (
+#if MIN_VERSION_template_haskell(2,16,0)
+  Just .
+#endif
+  patToExp) l
 #if MIN_VERSION_template_haskell(2,12,0)
 patToExp (TH.UnboxedSumP p a n) = TH.UnboxedSumE (patToExp p) a n
 #endif
diff --git a/invertible.cabal b/invertible.cabal
--- a/invertible.cabal
+++ b/invertible.cabal
@@ -1,5 +1,5 @@
 name:                invertible
-version:             0.2.0.6
+version:             0.2.0.7
 synopsis:            bidirectional arrows, bijective functions, and invariant functors
 description:
   Representations and operations for bidirectional arrows (total isomorphisms: an
