 (defn diagnostic-delta
   "Bring delta into diagnostic form [op ks (v | [v+])].  v is a
   collection for :in and :ex ops.  This form is not applicable for add
-  as ks can be [], which is invalid.
+  as ks can be [], which is invalid. See summable-delta.
 
   Not suitable for :batch deltas (use unpack) beforehand."
   [[op korks-or-new-val new-val :as delta]]

    (not (#+clj identical? #+cljs keyword-identical? op :is))
    (update-in [2] collect)))

(defn applicable-delta
  "Bring a delta from diagnostic form into applicable form."
  [[op korks new-val :as delta]]
  (if (seq korks)
    delta

    (add-root-delta val op korks-or-new-val)))

(defn add
  "Reducing function to add a delta to a streamed compound EDN value."
  ([] nil)
  ([val] val)
  ([val [op & maybe-deltas :as delta]]
