let rec loc_offset env loc ty = function
| TNoOffset -> loc
| TField(f,off) ->
loc_offset env (M.field loc f) (Ctypes.object_of f.ftype) off
| TIndex(t,off) ->
let k = integer_of_data (kind_of t.term_type) (!data_rec env t) in
let te = Ctypes.object_of_array_elem ty in
loc_offset env (M.index loc te k) te off