@@ -426,7 +426,7 @@ uncons m =
426426 let stop = return Nothing
427427 single a = return (Just (a, nil))
428428 yieldk a r = return (Just (a, fromStream r))
429− in unStreamShared (toStream m) defState stop single yieldk
429+ in unStream (toStream m) defState stop single yieldk
430430
431431-------------------------------------------------------------------------------
432432-- Generation
@@ -543,7 +543,7 @@ foldr step acc m = go (toStream m)
543543 let stop = return acc
544544 single a = return (step a acc)
545545 yieldk a r = go r >>= \b -> return (step a b)
546− in unStreamShared m1 defState stop single yieldk
546+ in unStream m1 defState stop single yieldk
547547
548548-- | Lazy right fold with a monadic step function.
549549{-# INLINE foldrM #-}
@@ -554,7 +554,7 @@ foldrM step acc m = go (toStream m)
554554 let stop = return acc
555555 single a = step a acc
556556 yieldk a r = go r >>= step a
557− in unStreamShared m1 defState stop single yieldk
557+ in unStream m1 defState stop single yieldk
558558
559559{-# INLINE foldr1 #-}
560560foldr1 :: (IsStream t, Monad m) => (a -> a -> a) -> t m a -> m (Maybe a)
@@ -568,7 +568,7 @@ foldr1 step m = do
568568 let stp = return p
569569 single a = return $ step a p
570570 yieldk a r = fmap (step p) (go a r)
571− in unStreamShared m1 defState stp single yieldk
571+ in unStream m1 defState stp single yieldk
572572
573573-- | Strict left fold with an extraction function. Like the standard strict
574574-- left fold, but applies a user supplied extraction function (the third
@@ -597,8 +597,8 @@ foldx step begin done m = get $ go (toStream m) begin
597597 single a = sng $ step acc a
598598 yieldk a r =
599599 let stream = go r (step acc a)
600− in unStreamShared stream defState undefined sng yld
601− in unStreamShared m1 defState stop single yieldk
600+ in unStream stream defState undefined sng yld
601+ in unStream m1 defState stop single yieldk
602602
603603-- | Strict left associative fold.
604604{-# INLINE foldl' #-}
@@ -615,7 +615,7 @@ foldxM step begin done m = go begin (toStream m)
615615 let stop = acc >>= done
616616 single a = acc >>= \b -> step b a >>= done
617617 yieldk a r = acc >>= \b -> step b a >>= \x -> go (return x) r
618− in unStreamShared m1 defState stop single yieldk
618+ in unStream m1 defState stop single yieldk
619619
620620-- | Like 'foldl'' but with a monadic step function.
621621foldlM' :: (IsStream t, Monad m) => (b -> a -> m b) -> b -> t m a -> m b
@@ -633,7 +633,7 @@ runStream m = go (toStream m)
633633 let stop = return ()
634634 single _ = return ()
635635 yieldk _ r = go (toStream r)
636− in unStreamShared m1 defState stop single yieldk
636+ in unStream m1 defState stop single yieldk
637637
638638{-# INLINE null #-}
639639null :: (IsStream t, Monad m) => t m a -> m Bool
@@ -641,7 +641,7 @@ null m =
641641 let stop = return True
642642 single _ = return False
643643 yieldk _ _ = return False
644− in unStreamShared (toStream m) defState stop single yieldk
644+ in unStream (toStream m) defState stop single yieldk
645645
646646{-# INLINE head #-}
647647head :: (IsStream t, Monad m) => t m a -> m (Maybe a)
@@ -649,7 +649,7 @@ head m =
649649 let stop = return Nothing
650650 single a = return (Just a)
651651 yieldk a _ = return (Just a)
652− in unStreamShared (toStream m) defState stop single yieldk
652+ in unStream (toStream m) defState stop single yieldk
653653
654654{-# INLINE tail #-}
655655tail :: (IsStream t, Monad m) => t m a -> m (Maybe (t m a))
@@ -657,7 +657,7 @@ tail m =
657657 let stop = return Nothing
658658 single _ = return $ Just nil
659659 yieldk _ r = return $ Just $ fromStream r
660− in unStreamShared (toStream m) defState stop single yieldk
660+ in unStream (toStream m) defState stop single yieldk
661661
662662{-# INLINE init #-}
663663init :: (IsStream t, Monad m) => t m a -> m (Maybe (t m a))
@@ -671,7 +671,7 @@ init m = go1 (toStream m)
671671 go p m1 = Stream $ \_ stp sng yld ->
672672 let single _ = sng p
673673 yieldk a x = yld p $ go a x
674− in unStreamShared m1 defState stp single yieldk
674+ in unStream m1 defState stp single yieldk
675675
676676{-# INLINE elem #-}
677677elem :: (IsStream t, Monad m, Eq a) => a -> t m a -> m Bool
@@ -681,7 +681,7 @@ elem e m = go (toStream m)
681681 let stop = return False
682682 single a = return (a == e)
683683 yieldk a r = if a == e then return True else go r
684− in unStreamShared m1 defState stop single yieldk
684+ in unStream m1 defState stop single yieldk
685685
686686{-# INLINE notElem #-}
687687notElem :: (IsStream t, Monad m, Eq a) => a -> t m a -> m Bool
@@ -691,7 +691,7 @@ notElem e m = go (toStream m)
691691 let stop = return True
692692 single a = return (a /= e)
693693 yieldk a r = if a == e then return False else go r
694− in unStreamShared m1 defState stop single yieldk
694+ in unStream m1 defState stop single yieldk
695695
696696all :: (IsStream t, Monad m) => (a -> Bool) -> t m a -> m Bool
697697all p m = go (toStream m)
@@ -701,7 +701,7 @@ all p m = go (toStream m)
701701 | otherwise = return False
702702 yieldk a r | p a = go r
703703 | otherwise = return False
704− in unStreamShared m1 defState (return True) single yieldk
704+ in unStream m1 defState (return True) single yieldk
705705
706706any :: (IsStream t, Monad m) => (a -> Bool) -> t m a -> m Bool
707707any p m = go (toStream m)
@@ -711,7 +711,7 @@ any p m = go (toStream m)
711711 | otherwise = return False
712712 yieldk a r | p a = return True
713713 | otherwise = go r
714− in unStreamShared m1 defState (return False) single yieldk
714+ in unStream m1 defState (return False) single yieldk
715715
716716-- | Extract the last element of the stream, if any.
717717{-# INLINE last #-}
@@ -726,7 +726,7 @@ minimum m = go Nothing (toStream m)
726726 let stop = return Nothing
727727 single a = return (Just a)
728728 yieldk a r = go (Just a) r
729− in unStreamShared m1 defState stop single yieldk
729+ in unStream m1 defState stop single yieldk
730730
731731 go (Just res) m1 =
732732 let stop = return (Just res)
@@ -738,7 +738,7 @@ minimum m = go Nothing (toStream m)
738738 if res <= a
739739 then go (Just res) r
740740 else go (Just a) r
741− in unStreamShared m1 defState stop single yieldk
741+ in unStream m1 defState stop single yieldk
742742
743743{-# INLINE minimumBy #-}
744744minimumBy
@@ -750,7 +750,7 @@ minimumBy cmp m = go Nothing (toStream m)
750750 let stop = return Nothing
751751 single a = return (Just a)
752752 yieldk a r = go (Just a) r
753− in unStreamShared m1 defState stop single yieldk
753+ in unStream m1 defState stop single yieldk
754754
755755 go (Just res) m1 =
756756 let stop = return (Just res)
@@ -760,7 +760,7 @@ minimumBy cmp m = go Nothing (toStream m)
760760 yieldk a r = case cmp res a of
761761 GT -> go (Just a) r
762762 _ -> go (Just res) r
763− in unStreamShared m1 defState stop single yieldk
763+ in unStream m1 defState stop single yieldk
764764
765765{-# INLINE maximum #-}
766766maximum :: (IsStream t, Monad m, Ord a) => t m a -> m (Maybe a)
@@ -770,7 +770,7 @@ maximum m = go Nothing (toStream m)
770770 let stop = return Nothing
771771 single a = return (Just a)
772772 yieldk a r = go (Just a) r
773− in unStreamShared m1 defState stop single yieldk
773+ in unStream m1 defState stop single yieldk
774774
775775 go (Just res) m1 =
776776 let stop = return (Just res)
@@ -782,7 +782,7 @@ maximum m = go Nothing (toStream m)
782782 if res <= a
783783 then go (Just a) r
784784 else go (Just res) r
785− in unStreamShared m1 defState stop single yieldk
785+ in unStream m1 defState stop single yieldk
786786
787787{-# INLINE maximumBy #-}
788788maximumBy :: (IsStream t, Monad m) => (a -> a -> Ordering) -> t m a -> m (Maybe a)
@@ -792,7 +792,7 @@ maximumBy cmp m = go Nothing (toStream m)
792792 let stop = return Nothing
793793 single a = return (Just a)
794794 yieldk a r = go (Just a) r
795− in unStreamShared m1 defState stop single yieldk
795+ in unStream m1 defState stop single yieldk
796796
797797 go (Just res) m1 =
798798 let stop = return (Just res)
@@ -802,7 +802,7 @@ maximumBy cmp m = go Nothing (toStream m)
802802 yieldk a r = case cmp res a of
803803 GT -> go (Just res) r
804804 _ -> go (Just a) r
805− in unStreamShared m1 defState stop single yieldk
805+ in unStream m1 defState stop single yieldk
806806
807807{-# INLINE (!!) #-}
808808(!!) :: (IsStream t, Monad m) => t m a -> Int -> m (Maybe a)
@@ -814,7 +814,7 @@ m !! i = go i (toStream m)
814814 yieldk a x | n < 0 = return Nothing
815815 | n == 0 = return $ Just a
816816 | otherwise = go (n - 1) x
817− in unStreamShared m1 defState (return Nothing) single yieldk
817+ in unStream m1 defState (return Nothing) single yieldk
818818
819819{-# INLINE lookup #-}
820820lookup :: (IsStream t, Monad m, Eq a) => a -> t m (a, b) -> m (Maybe b)
@@ -825,7 +825,7 @@ lookup e m = go (toStream m)
825825 | otherwise = return Nothing
826826 yieldk (a, b) x | a == e = return $ Just b
827827 | otherwise = go x
828− in unStreamShared m1 defState (return Nothing) single yieldk
828+ in unStream m1 defState (return Nothing) single yieldk
829829
830830{-# INLINE findM #-}
831831findM :: (IsStream t, Monad m) => (a -> m Bool) -> t m a -> m (Maybe a)
@@ -838,7 +838,7 @@ findM p m = go (toStream m)
838838 yieldk a x = do
839839 b <- p a
840840 if b then return $ Just a else go x
841− in unStreamShared m1 defState (return Nothing) single yieldk
841+ in unStream m1 defState (return Nothing) single yieldk
842842
843843{-# INLINE find #-}
844844find :: (IsStream t, Monad m) => (a -> Bool) -> t m a -> m (Maybe a)
@@ -868,7 +868,7 @@ mapM_ f m = go (toStream m)
868868 let stop = return ()
869869 single a = void (f a)
870870 yieldk a r = f a >> go r
871− in unStreamShared m1 defState stop single yieldk
871+ in unStream m1 defState stop single yieldk
872872
873873------------------------------------------------------------------------------
874874-- Converting folds
@@ -1154,7 +1154,7 @@ the m = do
11541154 | otherwise = return Nothing
11551155 yieldk a r | h == a = go h r
11561156 | otherwise = return Nothing
1157− in unStreamShared m1 defState (return $ Just h) single yieldk
1157+ in unStream m1 defState (return $ Just h) single yieldk
11581158
11591159------------------------------------------------------------------------------
11601160-- Semigroup