1 let rec rev_append l1 l2 =
4 | a :: l -> rev_append l (a :: l2)
6 let rev l = rev_append l []
9 let rec find accu = function
11 | x :: l -> if p x then find (x :: accu) l else find accu l in
16 let rec map f = function
18 | a::l -> let r = f a in r :: map f l
20 let rec iter f = function
22 | a::l -> f a; iter f l
24 let rec fold_right f l accu =
27 | a::l -> f a (fold_right f l accu)