diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2012, Mitsutoshi Aoe
+Copyright (c) 2012-2017, Mitsutoshi Aoe
 
 All rights reserved.
 
diff --git a/lifted-async.cabal b/lifted-async.cabal
--- a/lifted-async.cabal
+++ b/lifted-async.cabal
@@ -1,5 +1,5 @@
 name:                lifted-async
-version:             0.9.0
+version:             0.9.1
 synopsis:            Run lifted IO operations asynchronously and wait for their results
 homepage:            https://github.com/maoe/lifted-async
 bug-reports:         https://github.com/maoe/lifted-async/issues
@@ -7,12 +7,12 @@
 license-file:        LICENSE
 author:              Mitsutoshi Aoe
 maintainer:          Mitsutoshi Aoe <maoe@foldr.in>
-copyright:           Copyright (C) 2012-2016 Mitsutoshi Aoe
+copyright:           Copyright (C) 2012-2017 Mitsutoshi Aoe
 category:            Concurrency
 build-type:          Simple
 cabal-version:       >= 1.8
 tested-with:
-    GHC == 8.0.1
+    GHC == 8.0.2
   , GHC == 7.10.2
   , GHC == 7.8.4
   , GHC == 7.6.3
diff --git a/src/Control/Concurrent/Async/Lifted.hs b/src/Control/Concurrent/Async/Lifted.hs
--- a/src/Control/Concurrent/Async/Lifted.hs
+++ b/src/Control/Concurrent/Async/Lifted.hs
@@ -7,7 +7,7 @@
 
 {- |
 Module      : Control.Concurrent.Async.Lifted
-Copyright   : Copyright (C) 2012-2015 Mitsutoshi Aoe
+Copyright   : Copyright (C) 2012-2017 Mitsutoshi Aoe
 License     : BSD-style (see the file LICENSE)
 Maintainer  : Mitsutoshi Aoe <maoe@foldr.in>
 Stability   : experimental
@@ -63,13 +63,15 @@
   , link, link2
 
     -- * Convenient utilities
-  , race, race_, concurrently, mapConcurrently, forConcurrently
+  , race, race_, concurrently
+  , mapConcurrently, mapConcurrently_
+  , forConcurrently, forConcurrently_
   , Concurrently(..)
   ) where
 
 import Control.Applicative
 import Control.Concurrent (threadDelay)
-import Control.Monad ((>=>), forever, liftM)
+import Control.Monad ((>=>), forever, liftM, void)
 import GHC.IO (unsafeUnmask)
 import Prelude hiding (mapM)
 
@@ -81,6 +83,7 @@
 import qualified Control.Exception.Lifted as E
 
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 710
+import Data.Foldable
 import Data.Traversable
 #endif
 #if !MIN_VERSION_base(4, 8, 0)
@@ -367,6 +370,14 @@
   -> m (t b)
 mapConcurrently f = runConcurrently . traverse (Concurrently . f)
 
+-- | Generalized version of 'A.mapConcurrently_'.
+mapConcurrently_
+  :: (Foldable t, MonadBaseControl IO m)
+  => (a -> m b)
+  -> t a
+  -> m ()
+mapConcurrently_ f = runConcurrently . foldMap (Concurrently . void . f)
+
 -- | Generalized version of 'A.forConcurrently'.
 forConcurrently
   :: (Traversable t, MonadBaseControl IO m)
@@ -374,6 +385,14 @@
   -> (a -> m b)
   -> m (t b)
 forConcurrently = flip mapConcurrently
+
+-- | Generalized version of 'A.forConcurrently_'.
+forConcurrently_
+  :: (Foldable t, MonadBaseControl IO m)
+  => t a
+  -> (a -> m b)
+  -> m ()
+forConcurrently_ = flip mapConcurrently_
 
 -- | Generalized version of 'A.Concurrently'.
 --
diff --git a/src/Control/Concurrent/Async/Lifted/Safe.hs b/src/Control/Concurrent/Async/Lifted/Safe.hs
--- a/src/Control/Concurrent/Async/Lifted/Safe.hs
+++ b/src/Control/Concurrent/Async/Lifted/Safe.hs
@@ -12,7 +12,7 @@
 
 {- |
 Module      : Control.Concurrent.Async.Lifted.Safe
-Copyright   : Copyright (C) 2012-2015 Mitsutoshi Aoe
+Copyright   : Copyright (C) 2012-2017 Mitsutoshi Aoe
 License     : BSD-style (see the file LICENSE)
 Maintainer  : Mitsutoshi Aoe <maoe@foldr.in>
 Stability   : experimental
@@ -67,7 +67,9 @@
   , Unsafe.link, Unsafe.link2
 
     -- * Convenient utilities
-  , race, race_, concurrently, mapConcurrently
+  , race, race_, concurrently
+  , mapConcurrently, mapConcurrently_
+  , forConcurrently, forConcurrently_
   , Concurrently(..)
 
 
@@ -97,6 +99,7 @@
 import qualified Control.Concurrent.Async.Lifted as Unsafe
 
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 710
+import Data.Foldable
 import Data.Traversable
 #endif
 #if !MIN_VERSION_base(4, 8, 0)
@@ -341,6 +344,30 @@
   -> t a
   -> m (t b)
 mapConcurrently f = runConcurrently . traverse (Concurrently . f)
+
+-- | Generalized version of 'A.mapConcurrently_'.
+mapConcurrently_
+  :: (Foldable t, MonadBaseControl IO m, Forall (Pure m))
+  => (a -> m b)
+  -> t a
+  -> m ()
+mapConcurrently_ f = runConcurrently . foldMap (Concurrently . void . f)
+
+-- | Generalized version of 'A.forConcurrently'.
+forConcurrently
+  :: (Traversable t, MonadBaseControl IO m, Forall (Pure m))
+  => t a
+  -> (a -> m b)
+  -> m (t b)
+forConcurrently = flip mapConcurrently
+
+-- | Generalized version of 'A.forConcurrently_'.
+forConcurrently_
+  :: (Foldable t, MonadBaseControl IO m, Forall (Pure m))
+  => t a
+  -> (a -> m b)
+  -> m ()
+forConcurrently_ = flip mapConcurrently_
 
 -- | Generalized version of 'A.Concurrently'.
 --
