let assign_old_exp texpr env lv exp p = match lv with
  | Var vi, off ->
      let exp = match exp with
        | Some exp -> 
            (*let exp = 
              Some (MT.term_at env (LogicLabel "Old") exp Types.dummy_type) in
        * exp is a generated variable : don't need old !
        *)

            let exp = Some exp in
            let v = MT.mk_cvar vi in
            let t = Ctype vi.vtype in
            MV.mk_offset_update texpr (Some env) v t exp off 
        | None -> None 
      in MV.mk_let_vi vi exp p
  | Mem  _m, _off -> abort "indirect assign"