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
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
fold (predropWhile p folder) list = fold folder (dropWhile p list)
>>> fold (predropWhile (>5) Control.Foldl.sum) [10,9,5,9] 14