diff --git a/src/Quasar/Async.hs b/src/Quasar/Async.hs
index a66da1db79d7a0d340818a8df5ec015e865ee086..846aec4b4d4f330fdffebcb72c69fd6633afa1c7 100644
--- a/src/Quasar/Async.hs
+++ b/src/Quasar/Async.hs
@@ -1,17 +1,16 @@
 module Quasar.Async (
   -- * Async/await
   MonadAsync(..),
-  runUnlimitedAsync,
   async,
   async_,
   asyncWithUnmask,
   asyncWithUnmask_,
+  runUnlimitedAsync,
 
   -- ** Async context
   IsAsyncContext(..),
   AsyncContext,
   unlimitedAsyncContext,
-  runUnlimitedAsync,
 
   -- * Unmanaged forking
   forkTask,
@@ -31,7 +30,7 @@ import Quasar.Prelude
 
 
 class IsAsyncContext a where
-  asyncOnContextWithUnmask :: MonadResourceManager m => a -> (forall f. MonadAsync f => (forall a. f a -> f a) -> f r) -> m (Awaitable r)
+  asyncOnContextWithUnmask :: MonadResourceManager m => a -> (forall f. MonadAsync f => (forall b. f b -> f b) -> f r) -> m (Awaitable r)
   asyncOnContextWithUnmask self = asyncOnContextWithUnmask (toAsyncContext self)
 
   toAsyncContext :: a -> AsyncContext
@@ -106,7 +105,7 @@ asyncWithUnmask_ action = void $ asyncWithUnmask action
 
 -- | Run a computation in `MonadAsync` where `async` is implemented without any thread limits (i.e. every `async` will
 -- fork a new (RTS) thread).
-runUnlimitedAsync :: (MonadResourceManager m) => ReaderT AsyncContext m a -> m a
+runUnlimitedAsync :: ReaderT AsyncContext m a -> m a
 runUnlimitedAsync action = do
   runReaderT action unlimitedAsyncContext