:: (a -> Bool) -> (a -> Bool) -> (a -> Bool) -is:exact package:foldl

>>> fold (handles (filtered even) sum) [1..10]
30
>>> foldM (handlesM (filtered even) (Foldl.mapM_ print)) [1..10]
2
4
6
8
10