let generic_compute kf_opt behaviors p call_stmt =
let fun_iter =
match kf_opt with
| Some kf -> on_function kf
| None -> on_all_functions
in
let goals = do_wp_passes fun_iter behaviors p call_stmt in
if not (Bag.is_empty goals) then do_wp_proofs_for goals