@@ -554,7 +554,7 @@ fromStreamK = Unfold step pure
554-- /Since: 0.8.0/
554-- /Since: 0.8.0/
556{-# INLINE_NORMAL fromStream #-}
556{-# INLINE_NORMAL fromStream #-}
557−fromStream :: Monad m => Unfold m (SerialT m a) a
557+fromStream :: Applicative m => Unfold m (SerialT m a) a
558fromStream = lmap getSerialT fromStreamK
558fromStream = lmap getSerialT fromStreamK
560-------------------------------------------------------------------------------
560-------------------------------------------------------------------------------
@@ -601,7 +601,7 @@ consM action unf = Unfold step inject
601-- /Since: 0.8.0/
601-- /Since: 0.8.0/
603{-# INLINE_LATE fromList #-}
603{-# INLINE_LATE fromList #-}
604−fromList :: Monad m => Unfold m [a] a
604+fromList :: Applicative m => Unfold m [a] a
605fromList = Unfold step pure
605fromList = Unfold step pure
@@ -615,7 +615,7 @@ fromList = Unfold step pure
615-- /Since: 0.8.0/
615-- /Since: 0.8.0/
617{-# INLINE_LATE fromListM #-}
617{-# INLINE_LATE fromListM #-}
618−fromListM :: Monad m => Unfold m [m a] a
618+fromListM :: Applicative m => Unfold m [m a] a
619fromListM = Unfold step pure
619fromListM = Unfold step pure
@@ -633,7 +633,7 @@ fromListM = Unfold step pure
633-- /Since: 0.8.0/
633-- /Since: 0.8.0/
635{-# INLINE replicateM #-}
635{-# INLINE replicateM #-}
636−replicateM :: Monad m => Int -> Unfold m (m a) a
636+replicateM :: Applicative m => Int -> Unfold m (m a) a
637replicateM n = Unfold step inject
637replicateM n = Unfold step inject
@@ -651,7 +651,7 @@ replicateM n = Unfold step inject
651-- /Since: 0.8.0/
651-- /Since: 0.8.0/
653{-# INLINE repeatM #-}
653{-# INLINE repeatM #-}
654−repeatM :: Monad m => Unfold m (m a) a
654+repeatM :: Applicative m => Unfold m (m a) a
655repeatM = Unfold step pure
655repeatM = Unfold step pure
@@ -665,7 +665,7 @@ repeatM = Unfold step pure
665-- /Since: 0.8.0/
665-- /Since: 0.8.0/
667{-# INLINE iterateM #-}
667{-# INLINE iterateM #-}
668−iterateM :: Monad m => (a -> m a) -> Unfold m (m a) a
668+iterateM :: Applicative m => (a -> m a) -> Unfold m (m a) a
669iterateM f = Unfold step id
669iterateM f = Unfold step id
@@ -703,7 +703,7 @@ fromIndicesM gen = Unfold step pure
703-- /Since: 0.8.0/
703-- /Since: 0.8.0/
705{-# INLINE_NORMAL take #-}
705{-# INLINE_NORMAL take #-}
706−take :: Monad m => Int -> Unfold m a b -> Unfold m a b
706+take :: Applicative m => Int -> Unfold m a b -> Unfold m a b
707take n (Unfold step1 inject1) = Unfold step inject
707take n (Unfold step1 inject1) = Unfold step inject
@@ -749,7 +749,7 @@ filter f = filterM (return . f)
749-- /Since: 0.8.0/
749-- /Since: 0.8.0/
751{-# INLINE_NORMAL drop #-}
751{-# INLINE_NORMAL drop #-}
752−drop :: Monad m => Int -> Unfold m a b -> Unfold m a b
752+drop :: Applicative m => Int -> Unfold m a b -> Unfold m a b
753drop n (Unfold step inject) = Unfold step' inject'
753drop n (Unfold step inject) = Unfold step' inject'