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)