let assign_exp texpr lv exp p = match lv with
| Var vi, off ->
let exp = match exp with
| Some _ ->
let v = MT.mk_cvar vi in
let t = Ctype vi.vtype in
MV.mk_offset_update texpr None v t exp off
| None -> None
in MV.mk_let_vi vi exp p
| Mem _m, _off -> abort "indirect assign"