let rec rev_iter func = function 
  | head::tail -> 
      func head; 
      rev_iter func tail 
  | _ -> ()