let rec fold_left2_best_effort f acc l1 l2 = match l1,l2 with | _,[] -> acc | [],_ -> raise Eval_stmts.Wrong_function_type | (x1::r1),(x2::r2) -> fold_left2_best_effort f (f acc x1 x2) r1 r2