let rec fol_offset_shift expr base off =
  match off with
  | NoOffset -> base
  | Field (f, next) ->
      fol_offset_shift expr (fol_field_shift base f) next
  | Index (t,next) ->
      fol_offset_shift expr (Why_ops.index_shift base (expr t)) next