diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## v0.7.0 - 2015-03-30
+
+* Fix the unnecessarily constrained type of link2 (#16)
+* Turn the caveat in the Safe module into a WARNING pragma (#15)
+
 ## v0.6.0.1 - 2015-01-14
 
 * Increase the lower bound for base to >= 4.5
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.6.0.1
+version:             0.7.0
 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,10 +7,14 @@
 license-file:        LICENSE
 author:              Mitsutoshi Aoe
 maintainer:          Mitsutoshi Aoe <maoe@foldr.in>
-copyright:           Copyright (C) 2012-2014 Mitsutoshi Aoe
+copyright:           Copyright (C) 2012-2015 Mitsutoshi Aoe
 category:            Concurrency
 build-type:          Simple
 cabal-version:       >= 1.8
+tested-with:
+    GHC == 7.8.4
+  , GHC == 7.6.3
+  , GHC == 7.4.2
 
 extra-source-files:
   README.md
@@ -108,5 +112,5 @@
 
 source-repository this
   type: git
-  tag: v0.6.0.1
+  tag: v0.7.0
   location: https://github.com/maoe/lifted-async.git
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-2014 Mitsutoshi Aoe
+Copyright   : Copyright (C) 2012-2015 Mitsutoshi Aoe
 License     : BSD-style (see the file LICENSE)
 Maintainer  : Mitsutoshi Aoe <maoe@foldr.in>
 Stability   : experimental
@@ -314,7 +314,7 @@
 link = liftBase . A.link
 
 -- | Generalized version of 'A.link2'.
-link2 :: MonadBase IO m => Async a -> Async a -> m ()
+link2 :: MonadBase IO m => Async a -> Async b -> m ()
 link2 = (liftBase .) . A.link2
 
 -- | Generalized version of 'A.race'.
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-2014 Mitsutoshi Aoe
+Copyright   : Copyright (C) 2012-2015 Mitsutoshi Aoe
 License     : BSD-style (see the file LICENSE)
 Maintainer  : Mitsutoshi Aoe <maoe@foldr.in>
 Stability   : experimental
@@ -22,17 +22,11 @@
 This module assumes your monad stack to satisfy @'StM' m a ~ a@ so you can't
 mess up monadic effects. If your monad stack is stateful, use
 @Control.Concurrent.Async.Lifted@ with special care.
-
-#if MIN_VERSION_monad_control(1, 0, 0)
-#else
-Caveat: This module is available only if built with @monad-control >= 1.0.0@.
-If you have older @monad-control@, use @Control.Concurrent.Async.Lifted@.
-#endif
 -}
 
 module Control.Concurrent.Async.Lifted.Safe
-  (
 #if MIN_VERSION_monad_control(1, 0, 0)
+  (
     -- * Asynchronous actions
     A.Async
 
@@ -66,8 +60,16 @@
   , race, race_, concurrently, mapConcurrently
   , Concurrently(..)
 
+
+  )
+#else
+{-# WARNING
+  "This module is available only if built with @monad-control >= 1.0.0@.\
+  If you have an older version of @monad-control@, use\
+  @Control.Concurrent.Async.Lifted@ instead."
+  #-}
 #endif
-  ) where
+  where
 
 #if MIN_VERSION_monad_control(1, 0, 0)
 import Control.Applicative
