diff --git a/src/Quasar/Async.hs b/src/Quasar/Async.hs
index 8afbf94a2639ea2b6d9109059b8329341da22ab1..adfc85f37467ceb8f29308514a38203c59cd568a 100644
--- a/src/Quasar/Async.hs
+++ b/src/Quasar/Async.hs
@@ -34,16 +34,16 @@ class (MonadAwait m, MonadResourceManager m) => MonadAsync m where
 
 
 instance MonadAsync m => MonadAsync (ReaderT r m) where
-  asyncWithUnmask :: MonadAsync m => ((forall b. ReaderT r m b -> ReaderT r m b) -> ReaderT r m a) -> ReaderT r m (Awaitable a)
+  asyncWithUnmask :: ((forall b. ReaderT r m b -> ReaderT r m b) -> ReaderT r m a) -> ReaderT r m (Awaitable a)
   asyncWithUnmask action = do
     x <- ask
     lift $ asyncWithUnmask \unmask -> runReaderT (action (liftUnmask unmask)) x
     where
       -- | Lift an "unmask" action (e.g. from `mask`) into a `ReaderT`.
       liftUnmask :: (m a -> m a) -> (ReaderT r m) a -> (ReaderT r m) a
-      liftUnmask unmask action = do
+      liftUnmask unmask innerAction = do
         value <- ask
-        lift $ unmask $ runReaderT action value
+        lift $ unmask $ runReaderT innerAction value
 
 
 async_ :: MonadAsync m => m () -> m ()
@@ -79,9 +79,9 @@ instance MonadAsync UnlimitedAsync where
       pure $ toAwaitable task
     where
       liftUnmask :: (forall b. IO b -> IO b) -> UnlimitedAsync a -> UnlimitedAsync a
-      liftUnmask unmask (UnlimitedAsync action) = UnlimitedAsync do
+      liftUnmask unmask (UnlimitedAsync innerAction) = UnlimitedAsync do
         resourceManager <- ask
-        liftIO $ unmask $ runReaderT action resourceManager
+        liftIO $ unmask $ runReaderT innerAction resourceManager
 
 
 -- | Run a computation in `MonadAsync` where `async` is implemented without any thread limits (i.e. every `async` will
diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs
index a002d51cf680d36856723923f50f53fe646312c6..cdf49ab5f651c6102d09ba1bf3dd3beb11c13f47 100644
--- a/src/Quasar/Observable.hs
+++ b/src/Quasar/Observable.hs
@@ -462,7 +462,7 @@ synchronousFnObservable
   -> Observable v
 synchronousFnObservable observeFn synchronousRetrieveFn = fnObservable observeFn retrieveFn
   where
-    retrieveFn :: (forall m. (MonadResourceManager m, MonadAwait m) => m (Awaitable v))
+    retrieveFn :: (forall m. MonadResourceManager m => m (Awaitable v))
     retrieveFn = liftIO $ pure <$> synchronousRetrieveFn