diff --git a/lib/Crypto/Curve/Secp256k1/MuSig2.hs b/lib/Crypto/Curve/Secp256k1/MuSig2.hs
--- a/lib/Crypto/Curve/Secp256k1/MuSig2.hs
+++ b/lib/Crypto/Curve/Secp256k1/MuSig2.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
@@ -115,7 +116,12 @@
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Lazy as LBS
-import Data.Foldable (foldl', toList)
+
+{- HLINT ignore "Use fewer imports" -}
+#if !MIN_VERSION_base(4,20,0)
+import Data.Foldable (foldl')
+#endif
+import Data.Foldable (toList)
 import Data.List (isPrefixOf)
 import Data.Maybe (fromJust, fromMaybe)
 import Data.Sequence (Seq)
diff --git a/musig2.cabal b/musig2.cabal
--- a/musig2.cabal
+++ b/musig2.cabal
@@ -1,6 +1,6 @@
 cabal-version:   3.0
 name:            musig2
-version:         0.1.3
+version:         0.1.4
 synopsis:        MuSig2 library
 license:         MIT
 license-file:    LICENSE
@@ -9,7 +9,7 @@
 homepage:        https://github.com/storopoli/musig2
 category:        Cryptography
 build-type:      Simple
-tested-with:     GHC ==9.8.4 || ==9.10.3
+tested-with:     GHC ==9.8.4 || ==9.10.2 || ==9.10.3
 extra-doc-files: CHANGELOG
 description:
   Pure BIP0327 MuSig2 (partial)signatures with tweak support on the elliptic curve secp256k1.
@@ -18,10 +18,19 @@
   type:     git
   location: github.com/storopoli/musig2.git
 
+flag llvm
+  description: Use GHC's LLVM backend.
+  default:     False
+  manual:      True
+
 library
   default-language: Haskell2010
   hs-source-dirs:   lib
   ghc-options:      -Wall
+
+  if flag(llvm)
+    ghc-options: -fllvm -O2
+
   exposed-modules:  Crypto.Curve.Secp256k1.MuSig2
   other-modules:    Crypto.Curve.Secp256k1.MuSig2.Internal
   build-depends:
@@ -31,8 +40,9 @@
     , bytestring         >=0.9  && <0.13
     , containers         >=0.6  && <0.9
     , entropy            >=0.4  && <0.5
+    , ppad-hmac-drbg     >=0.2  && <0.3
     , ppad-secp256k1     >=0.5  && <0.6
-    , ppad-sha256        >=0.2  && <0.3.0
+    , ppad-sha256        >=0.3  && <0.4
 
 test-suite musig2-tests
   type:             exitcode-stdio-1.0
@@ -60,6 +70,10 @@
     Util
 
   ghc-options:      -rtsopts -Wall
+
+  if flag(llvm)
+    ghc-options: -fllvm -O2
+
   build-depends:
     , base               >=4.19 && <5
     , base16-bytestring
@@ -79,6 +93,10 @@
   hs-source-dirs:   bench
   main-is:          Main.hs
   ghc-options:      -rtsopts -O2 -Wall -fno-warn-orphans
+
+  if flag(llvm)
+    ghc-options: -fllvm
+
   build-depends:
     , base               >=4.19 && <5
     , base16-bytestring
