let offset loc te n =
      if F.equal_terms n F.i_zero then loc else
        match loc with
          | Loc l -> 
              Loc (upd_obj (upd_off l (add_offset l.off te n)) te)
          | Addr (p,_) ->
              Addr(model_addr_shift p (n_size n te),te)