diff --git a/polysemy-plugin.cabal b/polysemy-plugin.cabal
--- a/polysemy-plugin.cabal
+++ b/polysemy-plugin.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-plugin
-version:        0.4.5.1
+version:        0.4.5.2
 synopsis:       Disambiguate obvious uses of effects.
 description:    Please see the README on GitHub at <https://github.com/polysemy-research/polysemy/tree/master/polysemy-plugin#readme>
 category:       Polysemy
diff --git a/src/Polysemy/Plugin/Fundep.hs b/src/Polysemy/Plugin/Fundep.hs
--- a/src/Polysemy/Plugin/Fundep.hs
+++ b/src/Polysemy/Plugin/Fundep.hs
@@ -143,7 +143,11 @@
 -- | Given a list of constraints, filter out the 'FindConstraint's.
 getFindConstraints :: PolysemyStuff 'Things -> [Ct] -> [FindConstraint]
 getFindConstraints (findClass -> cls) cts = do
+#if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0)
+  cd@(CDictCan(DictCt{di_cls = cls', di_tys = [eff, r]})) <- cts
+#else
   cd@CDictCan{cc_class = cls', cc_tyargs = [eff, r]} <- cts
+#endif
   guard $ cls == cls'
   pure $ FindConstraint
     { fcLoc = ctLoc cd
@@ -157,7 +161,11 @@
 -- | Get evidence in scope that aren't the 'FindConstraint's.
 getExtraEvidence :: PolysemyStuff 'Things -> [Ct] -> [PredType]
 getExtraEvidence things cts = do
+#if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0)
+  CDictCan(DictCt{di_cls = cls, di_tys = as}) <- cts
+#else
   CDictCan{cc_class = cls, cc_tyargs = as} <- cts
+#endif
   guard $ cls /= findClass things
   pure $ mkAppTys (mkTyConTy $ classTyCon cls) as
 
