let rec update phi current poffset =
match poffset with
| [] -> phi current
| poff::m ->
let v = Lookup.get_offset current poff in
let r = update phi v m in
begin
match poff with
| Lookup.Ofield f ->
F.wrap (D.upd_field (F.unwrap current) f r)
| Lookup.Oindex (i,_obj) ->
F.wrap (D.upd_index (F.unwrap current) i r)
end