diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## v0.7.0.1 - 2015-05-18
+
+* Fix typecheck error with GHC HEAD (#17)
+
 ## v0.7.0 - 2015-03-30
 
 * Fix the unnecessarily constrained type of link2 (#16)
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.7.0
+version:             0.7.0.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
@@ -12,7 +12,8 @@
 build-type:          Simple
 cabal-version:       >= 1.8
 tested-with:
-    GHC == 7.8.4
+    GHC == 7.10.1
+  , GHC == 7.8.4
   , GHC == 7.6.3
   , GHC == 7.4.2
 
@@ -112,5 +113,5 @@
 
 source-repository this
   type: git
-  tag: v0.7.0
+  tag: v0.7.0.1
   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
@@ -381,7 +381,7 @@
     Concurrently $ uncurry ($) <$> concurrently fs as
 
 instance MonadBaseControl IO m => Alternative (Concurrently m) where
-  empty = Concurrently . liftBaseWith . const $ forever (threadDelay maxBound)
+  empty = Concurrently $ liftBaseWith $ const (forever $ threadDelay maxBound)
   Concurrently as <|> Concurrently bs =
     Concurrently $ either id id <$> race as bs
 
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
@@ -360,7 +360,7 @@
 
 instance (MonadBaseControl IO m, Forall (Pure m)) =>
   Alternative (Concurrently m) where
-    empty = Concurrently . liftBaseWith . const $ forever (threadDelay maxBound)
+    empty = Concurrently $ liftBaseWith $ const (forever $ threadDelay maxBound)
     Concurrently (as :: m a) <|> Concurrently bs =
       Concurrently (either id id <$> race as bs)
         \\ (inst :: Forall (Pure m) :- Pure m a)
