| function | since v0.0-1211 | Edit | 
(assoc! tcoll key val)(assoc! tcoll key val & kvs)assoc(iate) on transient collection
When applied to a transient map, adds mapping of key(s) to val(s).
When applied to a transient vector, sets the val at index. Note - index must be <= (count vector).
Returns coll.
(def tcoll (transient! {}))
(assoc! tcoll :a 1)
(assoc! tcoll :b 2)
tcoll
;;=> #<[object Object]> 
(:a tcoll)
;;=> 1
(:b tcoll)
;;=> 2
(def a (persistent! tcoll))
;;=> {:a 1 :b 2}
When applied to a transient map, adds mapping of key(s) to val(s). When applied to a transient vector, sets the val at index. Note - index must be <= (count vector). Returns coll.
(defn assoc!
  ([tcoll key val]
    (-assoc! tcoll key val))
  ([tcoll key val & kvs]
    (let [ntcoll (-assoc! tcoll key val)]
      (if kvs
        (recur ntcoll (first kvs) (second kvs) (nnext kvs))
        ntcoll))))