itlist : ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b
f x1 (f x2 ... (f xn b)...)
- itlist (curry op+) [1,2,3,4] 0; val it = 10 : int