       (fn [structure]
         (afn structure curr)))
     [identity (get-k :c) (get-k :b) (get-k :a)]))
-
 
 (let [data {:a {:b {:c 1}}}
       p (comp-paths :a :b :c)]

  (run-benchmark "multi-transform vs. consecutive transforms, three shared navs" 150000
    (->> data (transform [ALL ALL number? even?] mult-10) (transform [ALL ALL number? odd?] dec))
    (multi-transform [ALL ALL number? (multi-path [even? (terminal mult-10)] [odd? (terminal dec)])] data)))

    (select-any [(keypath :a) (keypath :b) (keypath :c)] data)))



(let [data {:a {:b {:c 1}}}]
  (run-benchmark "set value in nested map" 2500000
    (assoc-in data [:a :b :c] 1)
