diff --git a/Data/Invertible/TH.hs b/Data/Invertible/TH.hs
--- a/Data/Invertible/TH.hs
+++ b/Data/Invertible/TH.hs
@@ -62,7 +62,11 @@
 #if MIN_VERSION_template_haskell(2,12,0)
 patToExp (TH.UnboxedSumP p a n) = TH.UnboxedSumE (patToExp p) a n
 #endif
-patToExp (TH.ConP c a) = foldl (\f -> TH.AppE f . patToExp) (TH.ConE c) a
+patToExp (TH.ConP c
+#if MIN_VERSION_template_haskell(2,18,0)
+  _ -- [Type], probably should have to be empty
+#endif
+  a) = foldl (\f -> TH.AppE f . patToExp) (TH.ConE c) a
 patToExp (TH.InfixP l o r) = TH.InfixE (Just $ patToExp l) (TH.ConE o) (Just $ patToExp r)
 patToExp (TH.UInfixP l o r) = TH.UInfixE (patToExp l) (TH.ConE o) (patToExp r)
 patToExp (TH.ParensP p) = TH.ParensE $ patToExp p
diff --git a/invertible.cabal b/invertible.cabal
--- a/invertible.cabal
+++ b/invertible.cabal
@@ -1,5 +1,5 @@
 name:                invertible
-version:             0.2.0.7
+version:             0.2.0.8
 synopsis:            bidirectional arrows, bijective functions, and invariant functors
 description:
   Representations and operations for bidirectional arrows (total isomorphisms: an
@@ -95,7 +95,7 @@
     build-depends: invariant
   if flag(lens)
     exposed-modules: Data.Invertible.Lens
-    build-depends: lens == 4.*
+    build-depends: lens >= 4 && < 6
   if flag(partial-isomorphisms)
     exposed-modules: Data.Invertible.PartialIsomorphism
     if impl(ghc >= 8)
