diff --git a/coercible-subtypes.cabal b/coercible-subtypes.cabal
--- a/coercible-subtypes.cabal
+++ b/coercible-subtypes.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                coercible-subtypes
-version:             0.3.0.0
+version:             0.3.0.1
 stability:           experimental
 synopsis:            Coercible but only in one direction
 description: Newtype wrapper 'Data.Type.Coercion.Sub.Sub'
@@ -32,7 +32,7 @@
                        Data.Type.Coercion.Related.Internal,
                        Newtype.Union,
                        Newtype.Intersection
-  build-depends:       base >=4.12 && <4.18,
+  build-depends:       base >=4.12 && <4.20,
                        profunctors
   hs-source-dirs:      src
   default-language:    Haskell2010
diff --git a/src/Newtype/Intersection.hs b/src/Newtype/Intersection.hs
--- a/src/Newtype/Intersection.hs
+++ b/src/Newtype/Intersection.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE ExistentialQuantification #-}
+{-# LANGUAGE GADTs #-}
 module Newtype.Intersection(
   module Data.Type.Coercion.Related,
   IsIntersection(..),
diff --git a/src/Newtype/Union.hs b/src/Newtype/Union.hs
--- a/src/Newtype/Union.hs
+++ b/src/Newtype/Union.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE ExistentialQuantification #-}
+{-# LANGUAGE GADTs #-}
 module Newtype.Union(
   module Data.Type.Coercion.Related,
   IsUnion(..),
