let rec it_list2 func elem tas = function 
  | (a::fa,b::fb) -> it_list2 func elem (func a b tas) (fa,fb) 
  | ([],[]) -> tas 
  | _  -> elem