       latefns-sym
       [latefn-syms latefns-sym]
       (mapcat (fn [n l] [n `(~l ~PARAMS-SYM ~PARAMS-IDX-SYM)]) names latefn-syms)
-      impls)))
+      [impl1 impl2])))
 
 (defmacro variable-pathed-path
   "This helper is used to define selectors that take in a variable number of other selector
    paths as input. Those selector paths may require late-bound params, so this helper
    will create a parameterized selector if that is the case. If no late-bound params
    are required, then the result is executable."
-  [[latepaths-seq-sym paths-seq] & impls]
+  [[latepaths-seq-sym paths-seq] impl1 impl2]
   (let [latefns-sym (gensym "latefns")]
     (pathed-path*
       paramspath*

      []
      [latepaths-seq-sym `(map (fn [l#] (l# ~PARAMS-SYM ~PARAMS-IDX-SYM))
                               ~latefns-sym)]
      impls
      )))

(defmacro pathed-collector

   paths as input. Those selector paths may require late-bound params, so this helper
   will create a parameterized selector if that is the case. If no late-bound params
   are required, then the result is executable."
  [bindings impl1 impl2]
  (let [bindings (partition 2 bindings)
        paths (mapv second bindings)
        names (mapv first bindings)
