diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -2,6 +2,10 @@
 
 <!-- This ChangeLog follows a format specified by: https://keepachangelog.com/en/1.0.0/ -->
 
+## [1.1.7] - 2024-05-20
+
+- Added support for GHC 9.10 series.
+
 ## [1.1.6] - 2024-04-24
 
 ### Changed
diff --git a/bech32.cabal b/bech32.cabal
--- a/bech32.cabal
+++ b/bech32.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          bech32
-version:       1.1.6
+version:       1.1.7
 synopsis:      Implementation of the Bech32 cryptocurrency address format (BIP 0173).
 description:   Implementation of the Bech32 cryptocurrency address format documented in the
                BIP (Bitcoin Improvement Proposal) 0173.
@@ -34,7 +34,7 @@
 common dependency-array
     build-depends:array                           >= 0.5.4.0    && < 0.6
 common dependency-base
-    build-depends:base                            >= 4.14.3.0   && < 4.20
+    build-depends:base                            >= 4.14.3.0   && < 4.21
 common dependency-base58-bytestring
     build-depends:base58-bytestring               >= 0.1.0      && < 0.2
 common dependency-bytestring
diff --git a/src/Codec/Binary/Bech32/Internal.hs b/src/Codec/Binary/Bech32/Internal.hs
--- a/src/Codec/Binary/Bech32/Internal.hs
+++ b/src/Codec/Binary/Bech32/Internal.hs
@@ -72,40 +72,73 @@
 
     ) where
 
-import Prelude
-
+import Control.Applicative
+    ( Applicative (pure) )
 import Control.Exception
     ( Exception )
 import Control.Monad
-    ( guard, join )
+    ( guard, join, mapM, return, (=<<) )
 import Data.Array
     ( Array )
 import Data.Bifunctor
     ( first )
 import Data.Bits
     ( Bits, testBit, unsafeShiftL, unsafeShiftR, xor, (.&.), (.|.) )
+import Data.Bool
+    ( Bool, not, otherwise, (&&), (||) )
 import Data.ByteString
     ( ByteString )
 import Data.Char
-    ( chr, ord, toLower, toUpper )
+    ( Char, chr, ord, toLower, toUpper )
+import Data.Either
+    ( Either (Left, Right) )
 import Data.Either.Extra
     ( maybeToEither )
+import Data.Eq
+    ( Eq ((/=), (==)) )
 import Data.Foldable
-    ( foldl' )
+    ( Foldable (length, null), foldl' )
+import Data.Function
+    ( ($), (.) )
+import Data.Functor
+    ( Functor (fmap), (<$>) )
 import Data.Functor.Identity
     ( Identity, runIdentity )
+import Data.Int
+    ( Int )
 import Data.Ix
     ( Ix (..) )
 import Data.List
-    ( sort )
+    ( concat, filter, map, reverse, sort, take, zip, (++) )
 import Data.Map.Strict
     ( Map )
 import Data.Maybe
-    ( isNothing, mapMaybe )
+    ( Maybe (Just, Nothing), isNothing, mapMaybe )
+import Data.Monoid
+    ( Monoid )
+import Data.Ord
+    ( Ord (..) )
+import Data.Semigroup
+    ( Semigroup ((<>)) )
+import Data.String
+    ( String )
 import Data.Text
     ( Text )
+import Data.Traversable
+    ( Traversable (traverse) )
+import Data.Tuple
+    ( fst, snd )
 import Data.Word
-    ( Word8 )
+    ( Word, Word8 )
+import Prelude
+    ( Bounded (maxBound, minBound)
+    , Enum (fromEnum, toEnum)
+    , Integral (mod, rem)
+    , Num (..)
+    , fromIntegral
+    )
+import Text.Show
+    ( Show )
 
 import qualified Data.Array as Arr
 import qualified Data.ByteString as BS
