let iteri l ~f =     ignore (fold l ~init:0 ~f:(fun i x -> let () = f i x in i + 1))