add foldl, foldl1, foldr, foldr1
add map, concat, concatMap, filter