let rec fold_left2_best_effort f acc l1 l2 =
match l1,l2 with
| _,[] -> acc
| [],_ ->
Value_parameters.result ~once:true ~current:true "not enough arguments in function call.";
acc
| (x1::r1),(x2::r2) -> fold_left2_best_effort f (f acc x1 x2) r1 r2