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

  (println (pr-str e))
  e)

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

(defn- smart-str* [o]
  (if (coll? o)
    (pr-str o)

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

  #+cljs cljs.core/IndexedSeq
  #+cljs (coerce-path [this]
