         selector (:select* pimpl)
         transformer (:transform* pimpl)]
     (->TransformFunctions
-      StructureValsPathExecutor
+      RichPathExecutor
       (fn [vals structure next-fn]
         (selector this structure (fn [structure] (next-fn vals structure))))
       (fn [vals structure next-fn]

          t (.-type exs)

          combiner
          (if (= t :svalspath)
            (fn [curr next]
              (fn [vals structure next-fn]
                (curr vals structure

              all))))

(defn coerce-structure-vals [^TransformFunctions tfns]
  (if (= (extype tfns) :richpath)
    tfns
    (let [selector (.-selector tfns)
          transformer (.-transformer tfns)]
      (->TransformFunctions
        RichPathExecutor
        (fn [vals structure next-fn]
          (selector structure (fn [structure] (next-fn vals structure))))
        (fn [vals structure next-fn]
