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