diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -352,4 +352,4 @@
 [oleg:more]: http://okmij.org/ftp/Haskell/extensible/more.pdf
 [schrijvers:fusion]: https://people.cs.kuleuven.be/~tom.schrijvers/Research/papers/mpc2015.pdf
 [wu:scope]: https://www.cs.ox.ac.uk/people/nicolas.wu/papers/Scope.pdf
-[flake]: https://nixos.wiki/wiki/Flakes
+[flake]: https://wiki.nixos.org/wiki/Flakes
diff --git a/polysemy.cabal b/polysemy.cabal
--- a/polysemy.cabal
+++ b/polysemy.cabal
@@ -1,11 +1,11 @@
 cabal-version: 2.0
 
--- This file has been generated from package.yaml by hpack version 0.35.2.
+-- This file has been generated from package.yaml by hpack version 0.36.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:           polysemy
-version:        1.9.1.3
+version:        1.9.2.0
 synopsis:       Higher-order, low-boilerplate free monads.
 description:    Please see the README on GitHub at <https://github.com/polysemy-research/polysemy#readme>
 category:       Language
@@ -106,7 +106,7 @@
     , stm ==2.*
     , syb ==0.7.*
     , template-haskell >=2.12.0.0 && <3
-    , th-abstraction >=0.3.1.0 && <0.7
+    , th-abstraction >=0.3.1.0 && <0.8
     , transformers >=0.5.2.0 && <0.7
     , type-errors >=0.2.0.0
     , unagi-chan >=0.4.0.0 && <0.5
@@ -177,7 +177,7 @@
     , stm ==2.*
     , syb ==0.7.*
     , template-haskell >=2.12.0.0 && <3
-    , th-abstraction >=0.3.1.0 && <0.7
+    , th-abstraction >=0.3.1.0 && <0.8
     , transformers >=0.5.2.0 && <0.7
     , type-errors >=0.2.0.0
     , unagi-chan >=0.4.0.0 && <0.5
diff --git a/src/Polysemy/Internal/TH/Effect.hs b/src/Polysemy/Internal/TH/Effect.hs
--- a/src/Polysemy/Internal/TH/Effect.hs
+++ b/src/Polysemy/Internal/TH/Effect.hs
@@ -136,8 +136,8 @@
 -- | Generates signature for lifting function and type arguments to apply in
 -- its body on effect's data constructor.
 genSig :: ConLiftInfo -> [Dec]
-genSig cli
-  =  maybe [] (pure . flip InfixD (cliFunName cli)) (cliFunFixity cli)
+genSig cli =
+  infixDecl
   ++ [ SigD (cliFunName cli) $ quantifyType
        $ ForallT [] (member_cxt : cliFunCxt cli)
        $ foldArrowTs sem
@@ -145,6 +145,13 @@
        $ cliFunArgs cli
      ]
   where
+    infixDecl = case cliFunFixity cli of
+#if __GLASGOW_HASKELL__ >= 910
+      Just fixity -> [InfixD fixity NoNamespaceSpecifier (cliFunName cli)]
+#else
+      Just fixity -> [InfixD fixity (cliFunName cli)]
+#endif
+      Nothing -> []
     member_cxt = makeMemberConstraint (cliUnionName cli) cli
     sem        = makeSemType (cliUnionName cli) (cliEffRes cli)
 
diff --git a/src/Polysemy/Internal/Union.hs b/src/Polysemy/Internal/Union.hs
--- a/src/Polysemy/Internal/Union.hs
+++ b/src/Polysemy/Internal/Union.hs
@@ -295,7 +295,11 @@
 ------------------------------------------------------------------------------
 -- | An empty union contains nothing, so this function is uncallable.
 absurdU :: Union '[] m a -> b
-absurdU (Union _ _) = error "Unsafe use of UnsafeMkElemOf"
+#if __GLASGOW_HASKELL__ >= 902
+absurdU = \case
+#else
+absurdU _ = error "Unsafe use of UnsafeMkElemOf"
+#endif
 
 
 ------------------------------------------------------------------------------
