let rec mk_toffset_access expr base off =
  (* same then [fol_offset_access] for fot logic terms *)
  match off with
    | TNoOffset -> base
    | TField (f, next) ->
        mk_toffset_access expr (fol_field_access base f) next
    | TIndex (t,next) ->
        mk_toffset_access expr (Why_ops.array_access base (expr t)) next