let do_path do_exp ch = match ch with
  | Pfield _ -> ch
  | Pidx i -> Pidx (do_exp i)