diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Revision history for fold-debounce-conduit
 
+## 0.2.0.7  -- 2022-11-25
+
+* Confirm test with `base-4.16.4.0` (ghc-9.2.5) and `resourcet-1.3.0`.
+* Use stylish-haskell.
+
 ## 0.2.0.6  -- 2021-02-28
 
 * Confirm test with `base-4.15.0.0` (ghc-9.0.1)
diff --git a/fold-debounce-conduit.cabal b/fold-debounce-conduit.cabal
--- a/fold-debounce-conduit.cabal
+++ b/fold-debounce-conduit.cabal
@@ -1,5 +1,5 @@
 name:                   fold-debounce-conduit
-version:                0.2.0.6
+version:                0.2.0.7
 author:                 Toshio Ito <debug.ito@gmail.com>
 maintainer:             Toshio Ito <debug.ito@gmail.com>
 license:                BSD3
@@ -20,10 +20,10 @@
   exposed-modules:      Data.Conduit.FoldDebounce
   -- other-modules:
   default-extensions:   FlexibleContexts
-  build-depends:        base >=4.9.0 && <4.16,
+  build-depends:        base >=4.9.0 && <4.17,
                         conduit >=1.3.0 && <1.4,
                         fold-debounce >=0.2.0 && <0.3,
-                        resourcet >=1.2.0 && <1.3,
+                        resourcet >=1.2.0 && <1.4,
                         stm >=2.4.4.1 && <2.6,
                         transformers >=0.5.2 && <0.6,
                         transformers-base >=0.4.4 && <0.5
diff --git a/src/Data/Conduit/FoldDebounce.hs b/src/Data/Conduit/FoldDebounce.hs
--- a/src/Data/Conduit/FoldDebounce.hs
+++ b/src/Data/Conduit/FoldDebounce.hs
@@ -2,20 +2,20 @@
 -- Module: Data.Conduit.FoldDebounce
 -- Description: Regulate input traffic from conduit Source with Control.FoldDebounce
 -- Maintainer: Toshio Ito <debug.ito@gmail.com>
--- 
+--
 -- Synopsis:
 --
 -- > module Main (main) where
--- > 
+-- >
 -- > import Data.Conduit (ConduitT, yield, runConduit, (.|))
 -- > import qualified Data.Conduit.List as CL
 -- > import Data.Void (Void)
 -- > import Control.Concurrent (threadDelay)
 -- > import Control.Monad.IO.Class (liftIO)
 -- > import Control.Monad.Trans.Resource (ResourceT, runResourceT)
--- > 
+-- >
 -- > import qualified Data.Conduit.FoldDebounce as F
--- > 
+-- >
 -- > fastSource :: Int -> ConduitT () Int (ResourceT IO) ()
 -- > fastSource max_num = fastStream' 0 where
 -- >   fastStream' count = do
@@ -25,10 +25,10 @@
 -- >       else do
 -- >         liftIO $ threadDelay 100000
 -- >         fastStream' (count + 1)
--- > 
+-- >
 -- > printSink :: Show a => ConduitT a Void (ResourceT IO) ()
 -- > printSink = CL.mapM_ (liftIO . putStrLn . show)
--- > 
+-- >
 -- > main :: IO ()
 -- > main = do
 -- >   putStrLn "-- Before debounce"
@@ -39,7 +39,7 @@
 -- >                              F.def { F.delay = 500000 }
 -- >   putStrLn "-- After debounce"
 -- >   runResourceT $ runConduit $ debouncer (fastSource 10) .| printSink
--- 
+--
 -- Result:
 --
 -- > -- Before debounce
@@ -68,35 +68,36 @@
 -- (specified by 'delay' option).
 --
 -- See "Control.FoldDebounce" for detail.
-module Data.Conduit.FoldDebounce (
-  debounce,
-  -- * Re-exports
-  Args(..),
-  Opts,
-  def,
-  -- ** Accessors for 'Opts'
-  delay,
-  alwaysResetTimer,
-  -- * Preset parameters
-  forStack, forMonoid, forVoid
-) where
+module Data.Conduit.FoldDebounce
+    ( debounce
+      -- * Re-exports
+    , Args (..)
+    , Opts
+    , def
+      -- ** Accessors for 'Opts'
+    , delay
+    , alwaysResetTimer
+      -- * Preset parameters
+    , forStack
+    , forMonoid
+    , forVoid
+    ) where
 
-import Prelude hiding (init)
-import Control.Monad (void)
-import Data.Monoid (Monoid)
-import Data.Void (Void)
+import           Control.Monad                (void)
+import           Data.Monoid                  (Monoid)
+import           Data.Void                    (Void)
+import           Prelude                      hiding (init)
 
-import Control.FoldDebounce (Args(Args,cb,fold,init),
-                             Opts, delay, alwaysResetTimer, def)
-import qualified Control.FoldDebounce as F
-import Data.Conduit (ConduitT, await, (.|), bracketP, yield, runConduit)
-import Control.Monad.Trans.Resource (MonadResource, MonadUnliftIO,
-                                     allocate, register, release, resourceForkIO, runResourceT)
-import Control.Monad.Trans.Class (lift)
-import Control.Monad.IO.Class (MonadIO, liftIO)
-import Control.Concurrent.STM (newTChanIO, writeTChan, readTChan,
-                               atomically,
-                               TVar, readTVar, newTVarIO, writeTVar)
+import           Control.Concurrent.STM       (TVar, atomically, newTChanIO, newTVarIO, readTChan,
+                                               readTVar, writeTChan, writeTVar)
+import           Control.FoldDebounce         (Args (Args, cb, fold, init), Opts, alwaysResetTimer,
+                                               def, delay)
+import qualified Control.FoldDebounce         as F
+import           Control.Monad.IO.Class       (MonadIO, liftIO)
+import           Control.Monad.Trans.Class    (lift)
+import           Control.Monad.Trans.Resource (MonadResource, MonadUnliftIO, allocate, register,
+                                               release, resourceForkIO, runResourceT)
+import           Data.Conduit                 (ConduitT, await, bracketP, runConduit, yield, (.|))
 
 -- | Debounce conduit source with "Control.FoldDebounce". The data
 -- stream from the original source (type @i@) is debounced and folded
@@ -130,10 +131,11 @@
       case mgot of
        OutFinished -> return ()
        OutData got -> yield got >> keepYield out_chan
-      
+
 -- | Internal data type for output channel.
-data OutData o = OutData o
-               | OutFinished
+data OutData o
+  = OutData o
+  | OutFinished
 
 trigSink :: (MonadIO m) => F.Trigger i o -> TVar Bool -> ConduitT i Void m ()
 trigSink trig out_termed = trigSink' where
diff --git a/test/Data/Conduit/FoldDebounceSpec.hs b/test/Data/Conduit/FoldDebounceSpec.hs
--- a/test/Data/Conduit/FoldDebounceSpec.hs
+++ b/test/Data/Conduit/FoldDebounceSpec.hs
@@ -1,19 +1,23 @@
-module Data.Conduit.FoldDebounceSpec (main, spec) where
+module Data.Conduit.FoldDebounceSpec
+    ( main
+    , spec
+    ) where
 
-import Test.Hspec
+import           Test.Hspec
 
-import Control.Applicative ((<$>))
-import Control.Concurrent (threadDelay, myThreadId)
-import Control.Concurrent.STM (atomically, TVar, newTVarIO, writeTVar, readTVar, retry)
-import Control.Monad (forM_, void)
-import Control.Monad.IO.Class (liftIO)
-import Control.Monad.Trans.Resource (ResourceT, runResourceT, register)
-import Data.Conduit (ConduitT, (.|), yield, bracketP, runConduit)
-import qualified Data.Conduit.FoldDebounce as F
-import qualified Data.Conduit.List as CL
-import Data.Maybe (isJust)
-import Data.Monoid (Monoid)
-import System.Timeout (timeout)
+import           Control.Applicative          ((<$>))
+import           Control.Concurrent           (myThreadId, threadDelay)
+import           Control.Concurrent.STM       (TVar, atomically, newTVarIO, readTVar, retry,
+                                               writeTVar)
+import           Control.Monad                (forM_, void)
+import           Control.Monad.IO.Class       (liftIO)
+import           Control.Monad.Trans.Resource (ResourceT, register, runResourceT)
+import           Data.Conduit                 (ConduitT, bracketP, runConduit, yield, (.|))
+import qualified Data.Conduit.FoldDebounce    as F
+import qualified Data.Conduit.List            as CL
+import           Data.Maybe                   (isJust)
+import           Data.Monoid                  (Monoid)
+import           System.Timeout               (timeout)
 
 main :: IO ()
 main = hspec spec
@@ -142,4 +146,4 @@
       ret `shouldBe` ["ab"]
       released `shouldSatisfyEventually'` (== True)
 
-      
+
