let rec fol_offset_access expr base off =
  match off with
    | NoOffset -> base
    | Field (f, next) ->
        fol_offset_access expr (fol_field_access base f) next
    | Index (t,next) ->
        fol_offset_access expr (Why_ops.array_access base (expr t)) next