diff --git a/Control/Concurrent/Async/Pool/Async.hs b/Control/Concurrent/Async/Pool/Async.hs
--- a/Control/Concurrent/Async/Pool/Async.hs
+++ b/Control/Concurrent/Async/Pool/Async.hs
@@ -652,18 +652,6 @@
 
 #endif
 
--- | maps an @IO@-performing function over any @Traversable@ data
--- type, performing all the @IO@ actions concurrently, and returning
--- the original data structure with the arguments replaced by the
--- results.
---
--- For example, @mapConcurrently@ works with lists:
---
--- > pages <- mapConcurrently getURL ["url1", "url2", "url3"]
---
-mapConcurrently :: Traversable t => TaskGroup -> (a -> IO b) -> t a -> IO (t b)
-mapConcurrently tg f = flip runConcurrently tg . traverse (\a -> Concurrently $ \_ -> f a)
-
 -- -----------------------------------------------------------------------------
 
 -- | A value of type @Concurrently a@ is an @IO@ operation that can be
diff --git a/Control/Concurrent/Async/Pool/Internal.hs b/Control/Concurrent/Async/Pool/Internal.hs
--- a/Control/Concurrent/Async/Pool/Internal.hs
+++ b/Control/Concurrent/Async/Pool/Internal.hs
@@ -286,6 +286,18 @@
             Just (Left e)  -> Just (h, Left e)
             Just (Right x) -> Just (h, Right x)
 
+-- | maps an @IO@-performing function over any @Traversable@ data
+-- type, performing all the @IO@ actions concurrently, and returning
+-- the original data structure with the arguments replaced by the
+-- results.
+--
+-- For example, @mapConcurrently@ works with lists:
+--
+-- > pages <- mapConcurrently getURL ["url1", "url2", "url3"]
+--
+mapConcurrently :: Traversable t => TaskGroup -> (a -> IO b) -> t a -> IO (t b)
+mapConcurrently tg f = mapTasks tg . fmap f
+
 -- | The 'Task' Applicative and Monad allow for task dependencies to be built
 --   using Applicative and do notation.  Monadic evaluation is sequenced,
 --   while applicative Evaluation is concurrent for each argument.  In this
diff --git a/async-pool.cabal b/async-pool.cabal
--- a/async-pool.cabal
+++ b/async-pool.cabal
@@ -1,5 +1,5 @@
 Name:           async-pool
-Version:        0.9.0.2
+Version:        0.9.1
 Synopsis:       A modified version of async that supports worker groups and many-to-many task dependencies
 License-file:   LICENSE
 License:        MIT
@@ -20,14 +20,14 @@
     default-language: Haskell98
     ghc-options:      -Wall
     build-depends:
-        base >= 3 && < 4.11
-      , fgl
-      , async
-      , stm
-      , containers
+        base               >= 4.6     && < 5
+      , fgl                >= 5.4.2.2
+      , async              >= 2.0.0.0
+      , stm                >= 2.3
+      , containers         >= 0.5.0.0
       , transformers
       , transformers-base
-      , monad-control >= 1.0 && < 1.1
+      , monad-control      >= 1.0     && < 1.1
     exposed-modules:
         Control.Concurrent.Async.Pool
     other-modules:
