diff --git a/src/Quasar/Awaitable.hs b/src/Quasar/Awaitable.hs
index 14992a8472c49faf3f0c95668a32620f1ff13c46..ddbd64978f2516883f1fb94e9000a7ad5bfef53c 100644
--- a/src/Quasar/Awaitable.hs
+++ b/src/Quasar/Awaitable.hs
@@ -2,6 +2,7 @@ module Quasar.Awaitable (
   -- * MonadAwaitable
   MonadAwait(..),
   peekAwaitable,
+  awaitSTM,
 
   -- * Awaitable
   IsAwaitable(toAwaitable),
@@ -76,6 +77,8 @@ instance MonadAwait IO where
       `catch`
         \BlockedIndefinitelyOnSTM -> throwM BlockedIndefinitelyOnAwait
 
+-- | `awaitSTM` exists as an explicit alternative to an `Awaitable STM`-instance, to prevent code which creates- and
+-- then awaits resources without knowing it's running in STM (which would block indefinitely when run in STM).
 awaitSTM :: Awaitable a -> STM a
 awaitSTM (toAwaitable -> Awaitable x) =
   x `catch` \BlockedIndefinitelyOnSTM -> throwM BlockedIndefinitelyOnAwait