let rec update_offset phi current offs =
    match offs with
      | [] -> phi current
      | off::m ->
          let v = Lookup.access_poffset current off in
          let r = update_offset phi v m in
          begin
            match off with
              | Lookup.Ofield f ->
                  F.wrap (F.upd_field (F.unwrap current) f r)
              | Lookup.Oindex (i,_obj) ->
                  F.wrap (F.upd_index (F.unwrap current) i r)
          end