let rec iter f = function
  | [] ->
      ()
  | a :: l ->
      let _ = f a in
      iter f l