     (coerce-path o))
   #?(:clj java.util.List :cljs cljs.core/PersistentVector)
   (do-comp-paths [navigators]
-    (reduce combine-two-navs (map coerce-path navigators))))
+    (let [coerced (map coerce-path navigators)]
+      (cond (empty? coerced)
+            (coerce-path nil)
+
+            (= 1 (count coerced))
+            (first coerced)
+
+            :else
+            (reduce combine-two-navs coerced)))))
 
 ;; cell implementation idea taken from prismatic schema library
 #?(:cljs

      (if (sequential? path)
        (if (empty? path)
          STAY*
          (let [resolved (vec (map resolve-magic-code path))
                combined (continuous-subseqs-transform*
                          rich-nav?
                          resolved



(defn magic-precompilation [path ns-str used-locals]
;  (println "before magic-precompilation*:" path)
  (let [path (magic-precompilation* path)
;        _ (println "magic-precompilation*" path)
        ns (find-ns (symbol ns-str))
