diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+5.8.3.1
+-------
+
+* Support QuickCheck 2.17.
+
+* Removed HLint ANN pragmas.
+
 5.8.3.0
 -------
 
diff --git a/Data/Graph/Inductive/Monad.hs b/Data/Graph/Inductive/Monad.hs
--- a/Data/Graph/Inductive/Monad.hs
+++ b/Data/Graph/Inductive/Monad.hs
@@ -20,8 +20,6 @@
 
 import Data.Graph.Inductive.Graph
 
-{-# ANN module "HLint: ignore Redundant lambda" #-}
-
 ----------------------------------------------------------------------
 -- MONADIC GRAPH CLASS
 ----------------------------------------------------------------------
diff --git a/Data/Graph/Inductive/Query/Dominators.hs b/Data/Graph/Inductive/Query/Dominators.hs
--- a/Data/Graph/Inductive/Query/Dominators.hs
+++ b/Data/Graph/Inductive/Query/Dominators.hs
@@ -21,7 +21,6 @@
 import           Data.Tree                      (Tree (..))
 import qualified Data.Tree                      as T
 
-{-# ANN iDom "HLint: ignore Use ***" #-}
 -- | return immediate dominators for each reachable node of a graph, given a root
 iDom :: (Graph gr) => gr a b -> Node -> [(Node,Node)]
 iDom g root = let (result, toNode, _) = idomWork g root
diff --git a/fgl.cabal b/fgl.cabal
--- a/fgl.cabal
+++ b/fgl.cabal
@@ -1,5 +1,5 @@
 name:          fgl
-version:       5.8.3.0
+version:       5.8.3.1
 license:       BSD3
 license-file:  LICENSE
 author:        Martin Erwig, Ivan Lazar Miljenovic
@@ -7,31 +7,29 @@
 category:      Data Structures, Graphs
 synopsis:      Martin Erwig's Functional Graph Library
 
-description:   {
-An inductive representation of manipulating graph data structures.
-.
-Original website can be found at <http://web.engr.oregonstate.edu/~erwig/fgl/haskell>.
-}
+description:
+    An inductive representation of manipulating graph data structures.
+    .
+    Original website can be found at <http://web.engr.oregonstate.edu/~erwig/fgl/haskell>.
 cabal-version: >= 1.10
 build-type:    Simple
 extra-source-files:
                ChangeLog
 
-tested-with:   GHC == 7.2.2,  GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4,
-               GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3,
-               GHC == 8.6.2,  GHC == 8.8.2, GHC == 8.10.7, GHC == 9.0.2,
-               GHC == 9.2.4,  GHC == 9.4.4, GHC == 9.6.3, GHC == 9.8.1
+tested-with:   GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4,
+               GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2,
+               GHC == 9.2.8, GHC == 9.4.8, GHC == 9.6.7, GHC == 9.8.4,
+               GHC == 9.10.3, GHC == 9.12.2
 
 source-repository head
     type:         git
     location:     https://github.com/haskell/fgl.git
 
-flag containers042 {
+flag containers042
     manual:  False
     default: True
-}
 
-library {
+library
     default-language: Haskell98
 
     exposed-modules:
@@ -83,16 +81,14 @@
 
     ghc-options:      -Wall
 
-}
-
-test-suite fgl-tests {
+test-suite fgl-tests
     default-language: Haskell98
 
     type:             exitcode-stdio-1.0
 
     build-depends:    fgl
                     , base
-                    , QuickCheck >= 2.8 && < 2.15
+                    , QuickCheck >= 2.8 && < 2.17
                     , hspec >= 2.1 && < 2.12
                     , containers
 
@@ -110,9 +106,7 @@
     if impl(ghc >= 8.0)
       ghc-options:    -Wall -Wno-star-is-type
 
-}
-
-benchmark fgl-benchmark {
+benchmark fgl-benchmark
     if flag(containers042)
         buildable:    True
     else
@@ -134,5 +128,3 @@
                     , deepseq
 
     ghc-options:      -Wall
-
-}
