diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -32,3 +32,9 @@
 
 * Updated copyright dates.
 * Moved source repository.
+
+## 0.2.0.6  -- 2023-08-26
+
+* Switched from GADTs to ExistentialQuantification, as we didn't need the full power of GADTs.
+* Switched to Haskell98, as we didn't need the full power of Haskell2010.
+* Updated copyright dates.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2017-2022, Henry Till
+Copyright (c) 2017-2023, Henry Till
 
 All rights reserved.
 
diff --git a/dwergaz.cabal b/dwergaz.cabal
--- a/dwergaz.cabal
+++ b/dwergaz.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                dwergaz
-version:             0.2.0.5
+version:             0.2.0.6
 synopsis:            A minimal testing library
 description:         dwergaz is a minimal testing library with no external dependencies.
 license:             BSD3
@@ -10,11 +10,11 @@
 author:              Henry Till
 maintainer:          henrytill@gmail.com
 homepage:            https://github.com/henrytill/dwergaz
-copyright:           Copyright (c) 2017-2022, Henry Till
+copyright:           Copyright (c) 2017-2023, Henry Till
 category:            Testing
 build-type:          Simple
 cabal-version:       >=1.10
-tested-with:         GHC ==8.10.7 || ==9.0.2 || ==9.2.3
+tested-with:         GHC ==9.2.8 || ==9.4.4 || ==9.6.2
 
 extra-source-files:
   .gitignore
@@ -31,7 +31,7 @@
   -- other-extensions:
   build-depends:       base >=4.8 && <5
   hs-source-dirs:      src
-  default-language:    Haskell2010
+  default-language:    Haskell98
   ghc-options:         -Wall
 
 test-suite tests
@@ -40,5 +40,5 @@
   build-depends:       base >=4.8 && <5
                      , dwergaz
   hs-source-dirs:      tests
-  default-language:    Haskell2010
+  default-language:    Haskell98
   ghc-options:         -Wall
diff --git a/src/Test/Dwergaz.hs b/src/Test/Dwergaz.hs
--- a/src/Test/Dwergaz.hs
+++ b/src/Test/Dwergaz.hs
@@ -1,9 +1,9 @@
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE ExistentialQuantification #-}
 
 -- |
 -- Module      : Test.Dwergaz
 -- Description : A minimal testing library
--- Copyright   : (c) 2017-2022, Henry Till
+-- Copyright   : (c) 2017-2023, Henry Till
 -- License     : BSD3
 -- Maintainer  : henrytill@gmail.com
 -- Stability   : experimental
@@ -20,13 +20,13 @@
   ) where
 
 
-data Test where
-  Predicate :: (Eq a, Show a) => String -> (a -> Bool) -> a -> Test
-  Expect    :: (Eq a, Show a) => String -> (a -> a -> Bool) -> a -> a -> Test
+data Test
+  = forall a. (Eq a, Show a) => Predicate String (a -> Bool)      a
+  | forall a. (Eq a, Show a) => Expect    String (a -> a -> Bool) a a
 
-data Result where
-  Passed :: String -> Result
-  Failed :: Show a => String -> a -> a -> Result
+data Result
+  = Passed String
+  | forall a. (Show a) => Failed String a a
 
 instance Show Result where
   show (Failed n e a) =
@@ -41,9 +41,7 @@
 isPassed _          = False
 
 runTest :: Test -> Result
-runTest (Predicate n p v)
-  | p v                   = Passed n
-  | otherwise             = Failed n True False
-runTest (Expect n f e a)
-  | f e a                 = Passed n
-  | otherwise             = Failed n e a
+runTest (Predicate n p v) | p v       = Passed n
+                          | otherwise = Failed n True False
+runTest (Expect n f e a)  | f e a     = Passed n
+                          | otherwise = Failed n e a
