let update ~(at:mem) ~(here:mem) p =
    Xmap.fold
      (fun v vi p ->
         let x_here = get_c_funvar here vi.v_arity v vi.v_is_array in
         L.subst vi.v_var (F.var x_here) p)
      at.vars
      (M.update at.mem here.mem p)