From 73d4519486dd3adb61b1487c88da28cd13d105d3 Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Sun, 29 Aug 2021 16:05:33 +0200
Subject: [PATCH] Move `await` implementation for IO to class definition

---
 src/Quasar/Awaitable.hs | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/Quasar/Awaitable.hs b/src/Quasar/Awaitable.hs
index 69afe39..a595221 100644
--- a/src/Quasar/Awaitable.hs
+++ b/src/Quasar/Awaitable.hs
@@ -76,7 +76,7 @@ class Monad m => MonadAwait m where
   await :: IsAwaitable r a => a -> m r
 
 instance MonadAwait IO where
-  await = awaitIO
+  await awaitable = liftIO $ runQueryT atomically (runAwaitable awaitable)
 
 instance MonadAwait m => MonadAwait (ReaderT a m) where
   await = lift . await
@@ -86,9 +86,6 @@ awaitResult :: (IsAwaitable r a, MonadAwait m) => m a -> m r
 awaitResult = (await =<<)
 
 
-awaitIO :: (IsAwaitable r a, MonadIO m) => a -> m r
-awaitIO awaitable = liftIO $ runQueryT atomically (runAwaitable awaitable)
-
 peekAwaitable :: (IsAwaitable r a, MonadIO m) => a -> m (Maybe (Either SomeException r))
 peekAwaitable awaitable = liftIO $ runMaybeT $ try $ runQueryT queryFn (runAwaitable awaitable)
   where
-- 
GitLab