let for_all f a =
  try
    iter
      (fun x ->
         if not(f(x)) then raise Not_holds)
      a;
    true
  with
      Not_holds -> false