let prop_in_data do_exp d =
    let d' = match d with
      | E2addr _ -> d
      | E2depl (p, WpFol.Pfield f) -> E2depl (do_exp p, WpFol.Pfield f)
      | E2depl (p, WpFol.Pidx i) -> E2depl (do_exp p, WpFol.Pidx (do_exp i))
      | E2proj (p, WpFol.Pfield f) -> E2proj (do_exp p, WpFol.Pfield f)
      | E2proj (p, WpFol.Pidx i) -> E2proj (do_exp p, WpFol.Pidx (do_exp i))
      | E2shift (p, i) ->  E2shift (do_exp p, do_exp i)
      | E2load (m, p) -> E2load (do_exp m, do_exp p)
      | E2store (m, p, v) -> E2store (do_exp m, do_exp p, do_exp v)
    in Fol.Tdata d'