   
   #+clj java.util.List #+cljs cljs.core/PersistentVector
   (coerce-path [this]
-    (comp-paths* this))
+    (do-comp-paths this))
 
   #+cljs cljs.core/IndexedSeq
   #+cljs (coerce-path [this]


(extend-protocol PathComposer
  nil
  (comp-paths* [sp]
    (coerce-path sp))
  #+clj Object #+cljs default
  (comp-paths* [sp]
    (coerce-path sp))
  #+clj java.util.List #+cljs cljs.core/PersistentVector
  (comp-paths* [structure-paths]
    (if (empty? structure-paths)
      (coerce-path nil)
      (let [coerced (->> structure-paths

    params
    idx))

(defprotocol PathComposer
  (do-comp-paths [paths]))

(defn comp-paths* [p]
  (if (compiled-path? p) p (do-comp-paths p))
  )

(defn- seq-contains? [aseq val]
  (->> aseq
       (filter (partial = val))
