diff --git a/acid-state.cabal b/acid-state.cabal
--- a/acid-state.cabal
+++ b/acid-state.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.7.6
+Version:             0.7.7
 
 -- A short (one-line) description of the package.
 Synopsis:            Add ACID guarantees to any serializable Haskell data structure.
diff --git a/examples/StressTest.hs b/examples/StressTest.hs
--- a/examples/StressTest.hs
+++ b/examples/StressTest.hs
@@ -2,7 +2,7 @@
 module Main (main) where
 
 import Data.Acid
-import Data.Acid.Advanced (scheduleUpdate)
+import Data.Acid.Advanced (groupUpdates)
 
 import Control.Monad.State
 import Control.Monad.Reader
@@ -51,8 +51,7 @@
             ["poke"]
               -> do putStr "Issuing 100k transactions... "
                     hFlush stdout
-                    replicateM_ (100000-1) (scheduleUpdate acid PokeState)
-                    update acid PokeState
+                    groupUpdates acid (replicate 100000 PokeState)
                     putStrLn "Done"
             ["clear"]
               -> do update acid ClearState
diff --git a/examples/StressTestNoTH.hs b/examples/StressTestNoTH.hs
--- a/examples/StressTestNoTH.hs
+++ b/examples/StressTestNoTH.hs
@@ -49,8 +49,7 @@
             ["poke"]
               -> do putStr "Issuing 100k transactions... "
                     hFlush stdout
-                    replicateM_ (100000-1) (scheduleUpdate acid PokeState)
-                    update acid PokeState
+                    groupUpdates acid (replicate 100000 PokeState)
                     putStrLn "Done"
             _ -> do putStrLn $ "Commands:"
                     putStrLn $ "  query            Prints out the current state."
diff --git a/src/Data/Acid/Abstract.hs b/src/Data/Acid/Abstract.hs
--- a/src/Data/Acid/Abstract.hs
+++ b/src/Data/Acid/Abstract.hs
@@ -2,6 +2,7 @@
 module Data.Acid.Abstract
     ( AcidState(..)
     , scheduleUpdate
+    , groupUpdates
     , update
     , update'
     , query
@@ -15,6 +16,7 @@
 
 import Control.Concurrent      ( MVar, takeMVar )
 import Data.ByteString.Lazy    ( ByteString )
+import Control.Monad           ( void )
 import Control.Monad.Trans     ( MonadIO(liftIO) )
 import Data.Typeable           ( Typeable1, gcast1, typeOf1 )
 
@@ -68,6 +70,17 @@
 --   @
 scheduleUpdate :: UpdateEvent event => AcidState (EventState event) -> event -> IO (MVar (EventResult event))
 scheduleUpdate = _scheduleUpdate -- Redirection to make Haddock happy.
+
+-- | Schedule multiple Update events and wait for them to be durable, but
+--   throw away their results. This is useful for importing existing
+--   datasets into an AcidState.
+groupUpdates :: UpdateEvent event => AcidState (EventState event) -> [event] -> IO ()
+groupUpdates acidState events
+  = go events
+  where
+    go []     = return ()
+    go [x]    = void $ update acidState x
+    go (x:xs) = scheduleUpdate acidState x >> go xs
 
 -- | Issue an Update event and wait for its result. Once this call returns, you are
 --   guaranteed that the changes to the state are durable. Events may be issued in
diff --git a/src/Data/Acid/Advanced.hs b/src/Data/Acid/Advanced.hs
--- a/src/Data/Acid/Advanced.hs
+++ b/src/Data/Acid/Advanced.hs
@@ -11,6 +11,7 @@
 -}
 module Data.Acid.Advanced
     ( scheduleUpdate
+    , groupUpdates
     , update'
     , query'
     , Method(..)
