diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.8.0
+
+Add `Bluefin.Consume` and `consumeStream`
+
 ## 0.0.7.0
 
 Add `Bluefin.Pipes` and `Bluefin.Pipes.Prelude`, `connectCoroutines`
diff --git a/bluefin.cabal b/bluefin.cabal
--- a/bluefin.cabal
+++ b/bluefin.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               bluefin
-version:            0.0.7.0
+version:            0.0.8.0
 license:            MIT
 license-file:       LICENSE
 author:             Tom Ellis
@@ -22,6 +22,7 @@
     exposed-modules:
       Bluefin,
       Bluefin.Compound,
+      Bluefin.Consume,
       Bluefin.Coroutine,
       Bluefin.EarlyReturn,
       Bluefin.Eff,
@@ -36,6 +37,6 @@
       Bluefin.Stream,
       Bluefin.Writer,
     build-depends:
-      bluefin-internal >= 0.0.6.0 && < 0.1
+      bluefin-internal >= 0.0.8.0 && < 0.1
     hs-source-dirs:   src
     default-language: Haskell2010
diff --git a/src/Bluefin/Consume.hs b/src/Bluefin/Consume.hs
new file mode 100644
--- /dev/null
+++ b/src/Bluefin/Consume.hs
@@ -0,0 +1,16 @@
+module Bluefin.Consume
+  ( -- | 'Consume' allows you to await values during the execution of
+    -- a Bluefin operation.  It provides similar functionality to
+    -- @await@ from Conduit or Pipes.
+
+    -- * Handle
+    Consume,
+    -- * Handlers
+    consumeEach,
+    consumeStream,
+    -- * Effectful operations
+    await,
+  )
+where
+
+import Bluefin.Internal
diff --git a/src/Bluefin/Pipes.hs b/src/Bluefin/Pipes.hs
--- a/src/Bluefin/Pipes.hs
+++ b/src/Bluefin/Pipes.hs
@@ -1,26 +1,41 @@
--- | Reimplementation of the pipes ("Pipes") ecosystem in Bluefin.
+-- | Reimplementation of the @pipes@ (@Pipes@) ecosystem in Bluefin.
+-- It primarily serves as an example of what you can do with Bluefin
+-- and you probably won't want to use it directly.  Instead you are
+-- recommended to use
+--
+-- * 'Bluefin.Stream', 'Bluefin.Stream.yield'
+-- * 'Bluefin.Consume', 'Bluefin.Consume.await'
+-- * 'Bluefin.Stream.consumeStream'
+-- * For advanced cases only, 'Bluefin.Coroutine',
+--   'Bluefin.Coroutine.yieldCoroutine' and
+--   'Bluefin.Coroutine.connectCoroutines'
+--
 -- See also "Bluefin.Pipes.Prelude".
 module Bluefin.Pipes
   ( -- * The Proxy handle
     Proxy,
     Effect,
     runEffect,
+
     -- ** Producers
     Producer,
     yield,
     for,
     (~>),
     (<~),
+
     -- ** Consumers
     Consumer,
     await,
     (>~),
     (~<),
+
     -- ** Pipes
     Pipe,
     cat,
     (>->),
     (<-<),
+
     -- * Utilities
     next,
     each,
diff --git a/src/Bluefin/Pipes/Prelude.hs b/src/Bluefin/Pipes/Prelude.hs
--- a/src/Bluefin/Pipes/Prelude.hs
+++ b/src/Bluefin/Pipes/Prelude.hs
@@ -1,5 +1,16 @@
--- | Reimplementation of the @pipes@ prelude ("Pipes.Prelude") in
--- Bluefin.  See also "Bluefin.Pipes".
+-- | Reimplementation of the @pipes@ prelude (@Pipes.Prelude@) in
+-- Bluefin.  It primarily serves as an example of what you can do with
+-- Bluefin and you probably won't want to use it directly.  Instead
+-- you are recommended to use
+--
+-- * 'Bluefin.Stream', 'Bluefin.Stream.yield'
+-- * 'Bluefin.Consume', 'Bluefin.Consume.await'
+-- * 'Bluefin.Stream.consumeStream'
+-- * For advanced cases only, 'Bluefin.Coroutine',
+--   'Bluefin.Coroutine.yieldCoroutine' and
+--   'Bluefin.Coroutine.connectCoroutines'
+--
+-- See also "Bluefin.Pipes".
 --
 -- @
 -- >>> 'Bluefin.Eff.runEff' $ \\io -> 'runEffect' $ do
diff --git a/src/Bluefin/Stream.hs b/src/Bluefin/Stream.hs
--- a/src/Bluefin/Stream.hs
+++ b/src/Bluefin/Stream.hs
@@ -17,6 +17,7 @@
     enumerateFrom,
     mapMaybe,
     catMaybes,
+    consumeStream,
     -- * Effectful operations
     yield,
     inFoldable,
