diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 08359c7af251a4a1ca22a5371f9cc5ce79899349..bac66b32f9e695fb889e42185b0a675f1f4de523 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: haskell:8.4.4
+image: haskell:8.6.3
 
 # Change stacks global directory to be inside the project directory,
 # since we can only cache local dependencies.
diff --git a/stack.yaml b/stack.yaml
index ff12a4f500c2fd120768b883c5f1b1a5650f9f1b..1a17a1b73b5db6e123a037077434356f2482693e 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,51 +1,10 @@
-# This file was automatically generated by 'stack init'
-#
-# Some commonly used options have been documented as comments in this file.
-# For advanced use and comprehensive documentation of the format, please see:
-# https://docs.haskellstack.org/en/stable/yaml_configuration/
+resolver: lts-13.10
 
-# Resolver to choose a 'specific' stackage snapshot or a compiler version.
-# A snapshot resolver dictates the compiler version and the set of packages
-# to be used for project dependencies. For example:
-#
-# resolver: lts-3.5
-# resolver: nightly-2015-09-21
-# resolver: ghc-7.10.2
-# resolver: ghcjs-0.1.0_ghc-7.10.2
-# resolver:
-#  name: custom-snapshot
-#  location: "./custom-snapshot.yaml"
-resolver: lts-12.20
-
-# User packages to be built.
-# Various formats can be used as shown in the example below.
-#
-# packages:
-# - some-directory
-# - https://example.com/foo/bar/baz-0.0.2.tar.gz
-# - location:
-#    git: https://github.com/commercialhaskell/stack.git
-#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
-# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
-#   extra-dep: true
-#  subdirs:
-#  - auto-update
-#  - wai
-#
-# A package marked 'extra-dep: true' will only be built if demanded by a
-# non-dependency (i.e. a user package), and its test suites and benchmarks
-# will not be run. This is useful for tweaking upstream packages.
 packages:
 - .
-# Dependency packages to be pulled from upstream that are not in the resolver
-# (e.g., acme-missiles-0.3)
+
 extra-deps:
-  - hspec-megaparsec-2.0.0
-  - megaparsec-7.0.4
   - prettyprinter-convert-ansi-wl-pprint-1.1
-  # Primitive >= 0.6.2 supports SmallVector, but 0.6.2 and 0.6.3 are buggy. See
-  # https://hackage.haskell.org/package/primitive-0.6.4.0/changelog
-  - primitive-0.6.4.0
 
 # Override default flag values for local packages and extra-deps
 flags:
@@ -54,23 +13,8 @@ flags:
     pretty: false
     generic: false
 
-# Extra package databases containing global packages
-# extra-package-dbs: []
-
 # Control whether we use the GHC we find on the path
-# system-ghc: true
-#
-# Require a specific version of stack, using version ranges
-# require-stack-version: -any # Default
-# require-stack-version: ">=1.6"
-#
-# Override the architecture used by stack, especially useful on Windows
-# arch: i386
-# arch: x86_64
-#
-# Extra directories used by stack for building
-# extra-include-dirs: [/path/to/dir]
-# extra-lib-dirs: [/path/to/dir]
-#
+system-ghc: true
+
 # Allow a newer minor version of GHC than the snapshot specifies
-# compiler-check: newer-minor
+compiler-check: newer-minor