@@ -196,7 +196,7 @@ _identity _ start = drainGeneration UF.identity start
196{-# INLINE _const #-}
196{-# INLINE _const #-}
197_const :: Monad m => Int -> Int -> m ()
197_const :: Monad m => Int -> Int -> m ()
198_const size start =
198_const size start =
199− drainGeneration (UF.take size (UF.yieldM (return start))) undefined
199+ drainGeneration (UF.take size (UF.fromEffect (return start))) undefined
201{-# INLINE unfoldrM #-}
201{-# INLINE unfoldrM #-}
202unfoldrM :: Monad m => Int -> Int -> m ()
202unfoldrM :: Monad m => Int -> Int -> m ()
@@ -450,7 +450,7 @@ toNull value start =
451 u = src `UF.bind` \x ->
451 u = src `UF.bind` \x ->
452 src `UF.bind` \y ->
452 src `UF.bind` \y ->
453− UF.yield (x + y)
453+ UF.fromPure (x + y)
454 in UF.fold FL.drain u start
454 in UF.fold FL.drain u start
@@ -468,7 +468,7 @@ toNull3 value start =
469 u = src `UF.bind` \x ->
469 u = src `UF.bind` \x ->
470 src `UF.bind` \y ->
470 src `UF.bind` \y ->
471− UF.yield (x + y)
471+ UF.fromPure (x + y)
472 in UF.fold FL.drain u start
472 in UF.fold FL.drain u start
474{-# INLINE toList #-}
474{-# INLINE toList #-}
@@ -484,7 +484,7 @@ toList value start = do
485 u = src `UF.bind` \x ->
485 u = src `UF.bind` \x ->
486 src `UF.bind` \y ->
486 src `UF.bind` \y ->
487− UF.yield (x + y)
487+ UF.fromPure (x + y)
488 in UF.fold FL.toList u start
488 in UF.fold FL.toList u start
490{-# INLINE toListSome #-}
490{-# INLINE toListSome #-}
@@ -500,7 +500,7 @@ toListSome value start = do
501 u = src `UF.bind` \x ->
501 u = src `UF.bind` \x ->
502 src `UF.bind` \y ->
502 src `UF.bind` \y ->
503− UF.yield (x + y)
503+ UF.fromPure (x + y)
504 in UF.fold FL.toList (UF.take 1000 u) start
504 in UF.fold FL.toList (UF.take 1000 u) start
506{-# INLINE filterAllOut #-}
506{-# INLINE filterAllOut #-}
@@ -517,7 +517,7 @@ filterAllOut value start = do
517 src `UF.bind` \y ->
517 src `UF.bind` \y ->
518 let s = x + y
518 let s = x + y
519 in if s < 0
519 in if s < 0
520− then UF.yield s
520+ then UF.fromPure s
521 else UF.nilM (return . const ())
521 else UF.nilM (return . const ())
522 in UF.fold FL.drain u start
522 in UF.fold FL.drain u start
@@ -535,7 +535,7 @@ filterAllIn value start = do
535 src `UF.bind` \y ->
535 src `UF.bind` \y ->
536 let s = x + y
536 let s = x + y
537 in if s > 0
537 in if s > 0
538− then UF.yield s
538+ then UF.fromPure s
539 else UF.nilM (return . const ())
539 else UF.nilM (return . const ())
540 in UF.fold FL.drain u start
540 in UF.fold FL.drain u start
@@ -553,7 +553,7 @@ filterSome value start = do
553 src `UF.bind` \y ->
553 src `UF.bind` \y ->
554 let s = x + y
554 let s = x + y
555 in if s > 1100000
555 in if s > 1100000
556− then UF.yield s
556+ then UF.fromPure s
557 else UF.nilM (return . const ())
557 else UF.nilM (return . const ())
558 in UF.fold FL.drain u start
558 in UF.fold FL.drain u start
@@ -572,7 +572,7 @@ breakAfterSome value start =
572 let s = x + y
572 let s = x + y
573 in if s > 1100000
573 in if s > 1100000
574 then error "break"
574 then error "break"
575− else UF.yield s
575+ else UF.fromPure s
577 (_ :: Either ErrorCall ()) <- try $ UF.fold FL.drain u start
577 (_ :: Either ErrorCall ()) <- try $ UF.fold FL.drain u start
578 return ()
578 return ()