method vpredicate = function
    | Papp (lf, _, targs) -> collect_apps lf targs ; SkipChildren
    | Pvalid t | Pvalid_index(t,_) | Pvalid_range(t,_,_)
    | Pinitialized t | Pfresh t ->
        debug "[Calls_collection] predicate app on %a" !Ast_printer.d_term t;
        collect_apps_builtin [t] ; SkipChildren
    | Pseparated lt  ->        collect_apps_builtin lt ; SkipChildren
    | _ -> DoChildren