@@ -13,6 +13,7 @@ module Streamly.Internal.Data.Unfold.Type
1313 , mkUnfoldM
1414 , mkUnfoldrM
1515 , unfoldrM
16+ , unfoldr
1617 , functionM
1718 , function
1819 , identity
@@ -118,6 +119,14 @@ unfoldrM next = Unfold step pure
118119 Just (x, s) -> Yield x s
119120 Nothing -> Stop) <$> next st
120121
122+-- | Like 'unfoldrM' but uses a pure step function.
123+--
124+-- /Pre-release/
125+--
126+{-# INLINE unfoldr #-}
127+unfoldr :: Applicative m => (a -> Maybe (b, a)) -> Unfold m a b
128+unfoldr step = unfoldrM (pure . step)
129+
121130------------------------------------------------------------------------------
122131-- Map input
123132------------------------------------------------------------------------------