let rec fol_toffset_shift expr base off =
  match off with
  | TNoOffset -> base
  | TField (f, next) ->
      fol_toffset_shift expr (fol_field_shift base f) next
  | TIndex (t,next) ->
      fol_toffset_shift expr (Why_ops.index_shift base (expr t)) next