4 if len <= 0 then [], l else
7 let l1, l2 = cut l ~len:(len-1) in
10 invalid_arg "cut_list"
13 if l = [] then [] else
16 with Invalid_argument _ -> l, []
21 let rec iteri_aux ~f:f ~i = function
23 | a::l -> f ~i a; iteri_aux ~f:f ~i:(i+1) l
25 let iteri = iteri_aux ~i:0