   [segment o]
   (cond
     (wild-param? segment)
-    (wild-node segment (keyword (subs segment 1)) nil)
+    (wild-node segment (keyword (subs segment 1)) nil o)
 
     (catch-all-param? segment)
-    (catch-all-node segment (keyword (subs segment 1)) nil)
+    (catch-all-node segment (keyword (subs segment 1)) nil o)
 
     :else
-    (static-node segment nil)))
+    (static-node segment nil o)))
 
 (defn- new-node
   "Given a path-spec and a payload object, return a new tree node. If

      Node
      (lookup [this path params]
        (if (.equals segment path)
          params
          (let [p (if (>= (count path) size) (subs path 0 size))]
            (if (.equals segment p)
              (let [child (impl/fast-get children' (char-key path size))

  ;; 1.3ms (dissoc wild & catch-all from children)
  ;; 1.3ms (reified protocols)
  ;; 0.8ms (flattened matching)
  ;; 0.8ms (return route-data)
  (cc/quick-bench (dotimes [_ 1000] (lookup tree-new "/v1/orgs/1/topics" {}))))
