let list_to_stringA (f :  ('-> unit)) :  'a list -> unit =
  let rec list_to_string_rec = function
      [] -> ()
    | [h] -> f h
    | h::t -> ((f h) ; (list_to_string_rec t))
  in
  list_to_string_rec