diff --git a/src/Quasar/Async/Fork.hs b/src/Quasar/Async/Fork.hs
index cc35be946b3eda74969227c579ab8e4c167b9e86..3dfd70e4888b352a6457df48e08f538d684ae648 100644
--- a/src/Quasar/Async/Fork.hs
+++ b/src/Quasar/Async/Fork.hs
@@ -4,8 +4,8 @@ module Quasar.Async.Fork (
   -- ** IO
   forkWithUnmask,
   forkWithUnmask_,
-  forkAsync,
-  forkAsyncWithUnmask,
+  forkFuture,
+  forkFutureWithUnmask,
 
   -- ** STM
   forkSTM,
@@ -44,11 +44,11 @@ forkWithUnmaskSTM_ fn worker exChan = void $ forkWithUnmaskSTM fn worker exChan
 
 forkAsyncSTM :: forall a. IO a -> TIOWorker -> ExceptionSink -> STM (Future a)
 -- TODO change TIOWorker behavior for spawning threads, so no `unsafeShortIO` is necessary
-forkAsyncSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkAsync fn exChan) worker exChan
+forkAsyncSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkFuture fn exChan) worker exChan
 
 forkAsyncWithUnmaskSTM :: forall a. ((forall b. IO b -> IO b) -> IO a) -> TIOWorker -> ExceptionSink -> STM (Future a)
 -- TODO change TIOWorker behavior for spawning threads, so no `unsafeShortIO` is necessary
-forkAsyncWithUnmaskSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkAsyncWithUnmask fn exChan) worker exChan
+forkAsyncWithUnmaskSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkFutureWithUnmask fn exChan) worker exChan
 
 
 -- * Fork in IO, redirecting errors to an ExceptionSink
@@ -65,11 +65,11 @@ forkWithUnmask_ fn exChan = void $ forkWithUnmask fn exChan
 
 -- * Fork in IO while collecting the result, redirecting errors to an ExceptionSink
 
-forkAsync :: forall a. IO a -> ExceptionSink -> IO (Future a)
-forkAsync fn = forkAsyncWithUnmask ($ fn)
+forkFuture :: forall a. IO a -> ExceptionSink -> IO (Future a)
+forkFuture fn = forkFutureWithUnmask ($ fn)
 
-forkAsyncWithUnmask :: forall a. ((forall b. IO b -> IO b) -> IO a) -> ExceptionSink -> IO (Future a)
-forkAsyncWithUnmask fn exChan = do
+forkFutureWithUnmask :: forall a. ((forall b. IO b -> IO b) -> IO a) -> ExceptionSink -> IO (Future a)
+forkFutureWithUnmask fn exChan = do
   resultVar <- newPromise
   forkWithUnmask_ (runAndPut resultVar) exChan
   pure $ toFuture resultVar
diff --git a/src/Quasar/Resources.hs b/src/Quasar/Resources.hs
index e3d8356fdf64243722c1c8dc0e19f30ef878b407..fec5825a06fba137d803d1d326d6c303cfacbde7 100644
--- a/src/Quasar/Resources.hs
+++ b/src/Quasar/Resources.hs
@@ -49,7 +49,7 @@ import Quasar.Utils.ShortIO
 
 newUnmanagedIODisposer :: IO () -> TIOWorker -> ExceptionSink -> STM Disposer
 -- TODO change TIOWorker behavior for spawning threads, so no `unsafeShortIO` is necessary
-newUnmanagedIODisposer fn worker exChan = newUnmanagedPrimitiveDisposer (unsafeShortIO $ forkAsync fn exChan) worker exChan
+newUnmanagedIODisposer fn worker exChan = newUnmanagedPrimitiveDisposer (unsafeShortIO $ forkFuture fn exChan) worker exChan
 
 newUnmanagedSTMDisposer :: STM () -> TIOWorker -> ExceptionSink -> STM Disposer
 newUnmanagedSTMDisposer fn worker exChan = newUnmanagedPrimitiveDisposer disposeFn worker exChan