diff --git a/polysemy.cabal b/polysemy.cabal
--- a/polysemy.cabal
+++ b/polysemy.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy
-version:        1.9.1.2
+version:        1.9.1.3
 synopsis:       Higher-order, low-boilerplate free monads.
 description:    Please see the README on GitHub at <https://github.com/polysemy-research/polysemy#readme>
 category:       Language
diff --git a/src/Polysemy/Internal/TH/Common.hs b/src/Polysemy/Internal/TH/Common.hs
--- a/src/Polysemy/Internal/TH/Common.hs
+++ b/src/Polysemy/Internal/TH/Common.hs
@@ -216,7 +216,9 @@
       )
   where
     base = capturableBase name
-#if MIN_VERSION_template_haskell(2,17,0)
+#if MIN_VERSION_template_haskell(2,21,0)
+    args = flip PlainTV BndrInvis . mkName <$> ["m", "a"]
+#elif MIN_VERSION_template_haskell(2,17,0)
     args = flip PlainTV () . mkName <$> ["m", "a"]
 #else
     args = PlainTV . mkName <$> ["m", "a"]
