@@ -326,10 +326,9 @@ filterDrop streamLen n = composeN n $ S.drop 1 . S.filter (<= streamLen)
326326filterTake :: Monad m => Int -> Int -> Stream m Int -> m ()
327327filterTake streamLen n = composeN n $ S.take streamLen . S.filter (<= streamLen)
328328
329−-- Initially, this used maxBound not streamLen
330329{-# INLINE filterScan #-}
331−filterScan :: Monad m => Int -> Int -> Stream m Int -> m ()
332−filterScan streamLen n = composeN n $ S.scanl' (+) 0 . S.filter (<= streamLen)
330+filterScan :: Monad m => Int -> Stream m Int -> m ()
331+filterScan n = composeN n $ S.scanl' (+) 0 . S.filter (<= maxBound)
333332
334333{-# INLINE filterMap #-}
335334filterMap :: Monad m => Int -> Int -> Stream m Int -> m ()
@@ -643,7 +642,7 @@ o_1_space_mixed streamLen =
643642 , benchFold "take-map" (takeMap streamLen 1) (sourceUnfoldrM streamLen)
644643 , benchFold "filter-drop" (filterDrop streamLen 1) (sourceUnfoldrM streamLen)
645644 , benchFold "filter-take" (filterTake streamLen 1) (sourceUnfoldrM streamLen)
646− , benchFold "filter-scan" (filterScan streamLen 1) (sourceUnfoldrM streamLen)
645+ , benchFold "filter-scan" (filterScan 1) (sourceUnfoldrM streamLen)
647646 , benchFold "filter-map" (filterMap streamLen 1) (sourceUnfoldrM streamLen)
648647 ]
649648
@@ -658,7 +657,7 @@ o_1_space_mixedX2 streamLen =
658657 , benchFold "take-map" (takeMap streamLen 2) (sourceUnfoldrM streamLen)
659658 , benchFold "filter-drop" (filterDrop streamLen 2) (sourceUnfoldrM streamLen)
660659 , benchFold "filter-take" (filterTake streamLen 2) (sourceUnfoldrM streamLen)
661− , benchFold "filter-scan" (filterScan streamLen 2) (sourceUnfoldrM streamLen)
660+ , benchFold "filter-scan" (filterScan 2) (sourceUnfoldrM streamLen)
662661 , benchFold "filter-map" (filterMap streamLen 2) (sourceUnfoldrM streamLen)
663662 ]
664663
@@ -673,7 +672,7 @@ o_1_space_mixedX4 streamLen =
673672 , benchFold "take-map" (takeMap streamLen 4) (sourceUnfoldrM streamLen)
674673 , benchFold "filter-drop" (filterDrop streamLen 4) (sourceUnfoldrM streamLen)
675674 , benchFold "filter-take" (filterTake streamLen 4) (sourceUnfoldrM streamLen)
676− , benchFold "filter-scan" (filterScan streamLen 4) (sourceUnfoldrM streamLen)
675+ , benchFold "filter-scan" (filterScan 4) (sourceUnfoldrM streamLen)
677676 , benchFold "filter-map" (filterMap streamLen 4) (sourceUnfoldrM streamLen)
678677 ]
679678