let add_from_and_subst loc name subst ~from leaks =
let call = { cloc = loc; fname = name } in
let add l acc =
let data, _ = Subst.expr ~trans:false l.data subst in
{ l with call_stack = call :: l.call_stack; data = data } :: acc
in
(* keep the list in the same order *)
List.fold_right add from leaks