@@ -303,6 +303,9 @@ instance Functor (Step s) where
303303-- 'Step'). At any point the fold driver can extract the result from the
304304-- intermediate state using the @extract@ function.
305305--
306+-- NOTE: If you think you need the constructor of this type please consider
307+-- using the smart constructors in "Streamly.Internal.Data.Fold' instead.
308+--
306309-- @since 0.7.0
307310
308311data Fold m a b =
@@ -316,6 +319,9 @@ data Fold m a b =
316319-- | Make an accumulating (non-terminating) fold using a pure step function, a
317320-- pure initial state and a pure state extraction function.
318321--
322+-- If your 'Fold' returns only 'Partial' (i.e. never returns a 'Done') then you
323+-- can use @mkAccum*@ constructors.
324+--
319325-- /Internal/
320326--
321327{-# INLINE mkAccum #-}
@@ -329,6 +335,10 @@ mkAccum step initial extract =
329335-- | Similar to 'mkAccum' but the final state extracted is identical to the
330336-- intermediate state.
331337--
338+-- @
339+-- mkAccum_ step initial = mkAccum step initial id
340+-- @
341+--
332342-- /Internal/
333343--
334344{-# INLINE mkAccum_ #-}
@@ -348,6 +358,10 @@ mkAccumM step initial =
348358-- | Similar to 'mkAccumM' but the final state extracted is identical to the
349359-- intermediate state.
350360--
361+-- @
362+-- mkAccumM_ step initial = mkAccumM step initial return
363+-- @
364+--
351365-- /Internal/
352366--
353367{-# INLINE mkAccumM_ #-}
@@ -367,6 +381,10 @@ mkFold step initial extract =
367381-- | Similar to 'mkFold' but the final state extracted is identical to the
368382-- intermediate state.
369383--
384+-- @
385+-- mkFold_ step initial = mkFold step initial id
386+-- @
387+--
370388-- /Internal/
371389--
372390{-# INLINE mkFold_ #-}
@@ -389,6 +407,10 @@ mkFoldM = Fold
389407-- | Similar to 'mkFoldM' but the final state extracted is identical to the
390408-- intermediate state.
391409--
410+-- @
411+-- mkFoldM_ step initial = mkFoldM step initial return
412+-- @
413+--
392414-- /Internal/
393415--
394416{-# INLINE mkFoldM_ #-}