-let list_iter map l out tab =
- let rec aux f = function
- | [] -> f ()
- | hd :: tl -> aux (fun () -> map hd out tab; f ()) tl
- in
- aux C.start l
+let rec list_iter map l out tab = match l with
+ | [] -> ()
+ | hd :: tl -> map hd out tab; list_iter map tl out tab