drop -package:vector -package:filepath package:foldl

(drop n folder) returns a new Fold that ignores the first n inputs but otherwise behaves the same as the original fold.
fold (drop n folder) list = fold folder (Data.List.genericDrop n list)
>>> Foldl.fold (Foldl.drop 3 Foldl.sum) [10, 20, 30, 1, 2, 3]
6
>>> Foldl.fold (Foldl.drop 10 Foldl.sum) [10, 20, 30, 1, 2, 3]
0
(dropM n folder) returns a new FoldM that ignores the first n inputs but otherwise behaves the same as the original fold.
foldM (dropM n folder) list = foldM folder (Data.List.genericDrop n list)
>>> Foldl.foldM (Foldl.dropM 3 (Foldl.generalize Foldl.sum)) [10, 20, 30, 1, 2, 3]
6
>>> Foldl.foldM (Foldl.dropM 10 (Foldl.generalize Foldl.sum)) [10, 20, 30, 1, 2, 3]
0
Transforms a Fold into one which ignores elements until they stop satisfying a predicate
fold (predropWhile p folder) list = fold folder (dropWhile p list)
>>> fold (predropWhile (>5) Control.Foldl.sum) [10,9,5,9]
14