diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+v1.1.1.7:
+* Dependency update for GHC 8.8, HSE 1.23
+* Updates to Cabal file to meet new Hackage constraints
+
 v1.1.1.6:
 * Fix a bug in alpha-renaming (thanks Bertram Felgenhauer)
 * Exit nonzero on parse failures (thanks meck)
diff --git a/Plugin/Pl/Common.hs b/Plugin/Pl/Common.hs
--- a/Plugin/Pl/Common.hs
+++ b/Plugin/Pl/Common.hs
@@ -136,7 +136,10 @@
   Nothing -> ((AssocLeft ()), 9 + shift)
   Just x  -> x
 
-readM :: (Monad m, Read a) => String -> m a
+-- This was previously generalized to Monad, but now the right type is MonadFail,
+-- but different versions of GHC need different imports / constraints, but we only
+-- actually use it with Maybe anyway.
+readM :: (Read a) => String -> Maybe a
 readM s = case [x | (x,t) <- reads s, ("","")  <- lex t] of
             [x] -> return x
             []  -> fail "readM: No parse."
diff --git a/pointfree.cabal b/pointfree.cabal
--- a/pointfree.cabal
+++ b/pointfree.cabal
@@ -1,7 +1,7 @@
-Cabal-Version: >= 1.8
+Cabal-Version: >= 1.10
 
 Name:     pointfree
-Version:  1.1.1.6
+Version:  1.1.1.7
 Category: Tool
 Synopsis: Tool for refactoring expressions into pointfree form
 
@@ -17,7 +17,7 @@
 Extra-source-files: ChangeLog README test/Test.hs
 
 Build-type:  Simple
-Tested-with: GHC == 8.6.4
+Tested-with: GHC == 8.8.4
 
 Source-repository head
   type:     git
@@ -25,11 +25,12 @@
 
 Library
   Exposed-modules: Pointfree
+  Default-language: Haskell2010
 
-  Build-depends: base >= 4.5 && < 4.13,
+  Build-depends: base >= 4.5 && < 4.14,
                  array >= 0.3 && < 0.6,
                  containers >= 0.4 && < 0.7,
-                 haskell-src-exts >= 1.20 && < 1.21,
+                 haskell-src-exts >= 1.20 && < 1.24,
                  transformers < 0.6
   Other-modules: Plugin.Pl.Common
                  Plugin.Pl.Parser
@@ -41,11 +42,12 @@
 
 Executable pointfree
   Main-is:       Main.hs
+  Default-language: Haskell2010
   GHC-options:   -W
-  Build-depends: base >= 4.5 && < 4.13,
+  Build-depends: base >= 4.5 && < 4.14,
                  array >= 0.3 && < 0.6,
                  containers >= 0.4 && < 0.7,
-                 haskell-src-exts >= 1.20 && < 1.21,
+                 haskell-src-exts >= 1.20 && < 1.24,
                  transformers < 0.6
   Other-modules: Plugin.Pl.Common
                  Plugin.Pl.Parser
@@ -66,13 +68,14 @@
                  Plugin.Pl.Transform
 
   Build-depends:
-    base >= 4.5 && < 4.13,
+    base >= 4.5 && < 4.14,
     array >= 0.3 && < 0.6,
     containers >= 0.4 && < 0.7,
-    haskell-src-exts >= 1.20 && < 1.21,
+    haskell-src-exts >= 1.20 && < 1.24,
     HUnit >= 1.6 && < 1.7,
-    QuickCheck >= 2.11 && < 2.13,
+    QuickCheck >= 2.11 && < 2.14,
     transformers < 0.6
 
+  Default-language: Haskell2010
   GHC-Options:    -W
   Hs-source-dirs: . test
