 (defmethod read [:default ::route-data]
   [{:keys [state target ast user-parser] :as env} key params]
   (let [st @state
-        route (get st ::route)
-        route (cond-> route
-                (util/unique-ident? route) first)
+        route (unwrap-route (get st ::route))
         query (infer-query env route)
         ret (user-parser env query target)]
     (when-not (empty? ret)


(defn compassus-merge
  [reconciler state res query]
  (let [route (get state ::route)
        route (cond-> route
                (util/unique-ident? route) first)]
    (om/default-merge reconciler state (get res route) query)))

(defn- process-reconciler-opts

(defmethod read [nil ::route-data]
  [{:keys [state user-parser] :as env} key params]
  (let [st @state
        route (unwrap-route (get st ::route))
        query (infer-query env route)
        ret (user-parser env query)]
    {:value (get ret route)}))
