    If the target is a vector element then that element must already exist in the vector.
   "
   [state ident & named-parameters]
-  (js/console.log "integrating" named-parameters)
   (let [already-has-ident-at-path? (fn [data-path] (boolean (seq (filter #(= % ident) (get-in @state data-path)))))
         actions (partition 2 named-parameters)]
     (doseq [[command data-path] actions]
-      (js/console.log :cmd command :dp data-path)
       (case command
         :prepend (when-not (already-has-ident-at-path? data-path)
                    (assert (vector? (get-in @state data-path)) (str "Path " data-path " for prepend must target an app-state vector."))

    (omp/queue! reconciler data-path-keys)
    @state))


    [untangled.dom :as udom]
    [om.next.protocols :as omp]
    [untangled.client.impl.util :as util]
    [untangled.client.impl.om-plumbing :as plumbing]
    [clojure.set :as set])
  (:import goog.Uri))

(declare map->Application merge-alternate-union-elements!)

(defn new-untangled-client
  "Entrypoint for creating a new untangled client. Instantiates an Application with default values, unless
