 
   ITransientVector
   (-assoc-n! [tcoll n val]
-    (if (.-edit root)
+    (if ^boolean (.-edit root)
       (cond
         (and (<= 0 n) (< n cnt))
         (if (<= (tail-off tcoll) n)

      (throw (js/Error. "assoc! after persistent!"))))

  (-pop! [tcoll]
    (if (.-edit root)
      (cond
        (zero? cnt) (throw (js/Error. "Can't pop empty vector"))
        (== 1 cnt)                       (do (set! cnt 0) tcoll)


  ICounted
  (-count [coll]
    (if ^boolean (.-edit root)
      cnt
      (throw (js/Error. "count after persistent!"))))

  IIndexed
  (-nth [coll n]
    (if ^boolean (.-edit root)
      (aget (array-for coll n) (bit-and n 0x01f))
      (throw (js/Error. "nth after persistent!"))))

