diff --git a/src/Control/Concurrent/STM/TMVar/Extras.hs b/src/Control/Concurrent/STM/TMVar/Extras.hs
--- a/src/Control/Concurrent/STM/TMVar/Extras.hs
+++ b/src/Control/Concurrent/STM/TMVar/Extras.hs
@@ -7,13 +7,16 @@
 -- Returns what was in the TMVar (if exists)
 forceSwapTMVar :: TMVar a -> a -> STM (Maybe a)
 forceSwapTMVar v a = (Just <$> swapTMVar v a) `orElse` (const Nothing <$> putTMVar v a)
+{-# INLINABLE forceSwapTMVar #-}
 
 -- | Block until TMVar is empty.
 -- The argument a is used to try to put into TMVar, but is taken out again in the same
 -- transaction
 waitTillEmptyTMVar :: TMVar a -> a -> STM ()
 waitTillEmptyTMVar v a = putTMVar v a >> takeTMVar v >> pure ()
+{-# INLINABLE waitTillEmptyTMVar #-}
 
 -- | Block until TMVar is full.
 waitTillFullTMVar :: TMVar a -> STM ()
 waitTillFullTMVar v = takeTMVar v >>= putTMVar v
+{-# INLINABLE waitTillFullTMVar #-}
diff --git a/stm-extras.cabal b/stm-extras.cabal
--- a/stm-extras.cabal
+++ b/stm-extras.cabal
@@ -1,5 +1,5 @@
 name:                stm-extras
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Extra STM functions
 description:         Please see README.md
 homepage:            https://github.com/louispan/stm-extras#readme
