diff --git a/hls-graph.cabal b/hls-graph.cabal
--- a/hls-graph.cabal
+++ b/hls-graph.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               hls-graph
-version:            2.9.0.1
+version:            2.10.0.0
 synopsis:           Haskell Language Server internal graph API
 description:
   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server/tree/master/hls-graph#readme>
diff --git a/src/Control/Concurrent/STM/Stats.hs b/src/Control/Concurrent/STM/Stats.hs
--- a/src/Control/Concurrent/STM/Stats.hs
+++ b/src/Control/Concurrent/STM/Stats.hs
@@ -20,7 +20,6 @@
 import           Data.IORef
 import qualified Data.Map.Strict        as M
 import           Data.Time              (getCurrentTime)
-import           Data.Typeable          (Typeable)
 import           GHC.Conc               (unsafeIOToSTM)
 import           System.IO
 import           System.IO.Unsafe
@@ -151,7 +150,6 @@
 -- 'BlockedIndefinitelyOnNamedSTM', carrying the name of the transaction and
 -- thus giving more helpful error messages.
 newtype BlockedIndefinitelyOnNamedSTM = BlockedIndefinitelyOnNamedSTM String
-    deriving (Typeable)
 
 instance Show BlockedIndefinitelyOnNamedSTM where
     showsPrec _ (BlockedIndefinitelyOnNamedSTM name) =
diff --git a/src/Development/IDE/Graph/Internal/Types.hs b/src/Development/IDE/Graph/Internal/Types.hs
--- a/src/Development/IDE/Graph/Internal/Types.hs
+++ b/src/Development/IDE/Graph/Internal/Types.hs
@@ -227,7 +227,7 @@
     stack  :: [String], -- ^ The stack of keys that led to this exception
     inner  :: e -- ^ The underlying exception
 }
-  deriving (Typeable, Exception)
+  deriving (Exception)
 
 instance Show GraphException where
     show GraphException{..} = unlines $
@@ -249,7 +249,7 @@
     show (Stack kk _) = "Stack: " <> intercalate " -> " (map show kk)
 
 newtype StackException = StackException Stack
-  deriving (Typeable, Show)
+  deriving (Show)
 
 instance Exception StackException where
     fromException = fromGraphException
diff --git a/test/Example.hs b/test/Example.hs
--- a/test/Example.hs
+++ b/test/Example.hs
@@ -38,7 +38,7 @@
 
 
 data CondRule = CondRule
-    deriving (Eq, Generic, Hashable, NFData, Show, Typeable)
+    deriving (Eq, Generic, Hashable, NFData, Show)
 type instance RuleResult CondRule = Bool
 
 
@@ -48,7 +48,7 @@
     return $ RunResult ChangedRecomputeDiff "" r (return ())
 
 data BranchedRule = BranchedRule
-    deriving (Eq, Generic, Hashable, NFData, Show, Typeable)
+    deriving (Eq, Generic, Hashable, NFData, Show)
 type instance RuleResult BranchedRule = Int
 
 ruleWithCond :: Rules ()
@@ -61,7 +61,7 @@
             return $ RunResult ChangedRecomputeDiff "" (2 :: Int) (return ())
 
 data SubBranchRule = SubBranchRule
-    deriving (Eq, Generic, Hashable, NFData, Show, Typeable)
+    deriving (Eq, Generic, Hashable, NFData, Show)
 type instance RuleResult SubBranchRule = Int
 
 ruleSubBranch :: C.MVar Int -> Rules ()
@@ -70,5 +70,5 @@
     return $ RunResult ChangedRecomputeDiff "" r (return ())
 
 data CountRule = CountRule
-    deriving (Eq, Generic, Hashable, NFData, Show, Typeable)
+    deriving (Eq, Generic, Hashable, NFData, Show)
 type instance RuleResult CountRule = Int
