diff --git a/app/Main.hs b/app/Main.hs
index c7fc8b3c6daa544b38c4a2c87f9c57c194239b0c..bf9abf8bb4c46340a5828b9d3c914ba7d2a042f4 100644
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -2,6 +2,7 @@ module Main where
 
 import Data.Version
 
+import Data.Semigroup
 import Options.Applicative hiding (ParseError)
 import System.Console.Shell
 import System.Console.Shell.ShellMonad
diff --git a/lambda-calculator.cabal b/lambda-calculator.cabal
index 9fd17c5a42effe0425f3ed7d086a63877d7b4378..9b1fd67fb83a56c7618f740ceb0fe00cade6ce0b 100644
--- a/lambda-calculator.cabal
+++ b/lambda-calculator.cabal
@@ -26,7 +26,7 @@ library
                        Language.SystemF.Expression,
                        Language.SystemF.Parser,
                        Language.SystemF.TypeCheck
-  build-depends:       base <= 5,
+  build-depends:       base >= 4.9,
                        containers,
                        parsec
   default-language:    Haskell2010
@@ -36,9 +36,9 @@ executable lambda-calculator
   main-is:             Main.hs
   other-modules:       Paths_lambda_calculator
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
-  build-depends:       base,
+  build-depends:       base >= 4.9,
                        lambda-calculator,
-                       optparse-applicative < 0.13,
+                       optparse-applicative >= 0.13,
                        Shellac,
                        Shellac-readline
   default-language:    Haskell2010
diff --git a/stack.yaml b/stack.yaml
index a71357a24dd8750432a33906054ef2f19798268a..6c1675325f2ee021ec69c60dd71a8dbfa4e82ac9 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -5,4 +5,4 @@ packages:
 extra-deps:
 - Shellac-0.9.9
 - Shellac-readline-0.9.9
-resolver: lts-7.14
+resolver: lts-8.8