 
   (copy-and-set-value [inode e bit val]
     (let [idx (inc (* 2 (bitmap-indexed-node-index datamap bit)))]
-      (if (can-edit e edit)
+      (if ^boolean (can-edit e edit)
         (do
           (aset arr idx val)
           inode)

  Object
  (copy-and-set-node [inode e bit node]
    (let [idx (node-at arr nodemap bit)]
      (if (can-edit e edit)
        (do
          (aset arr idx node)
          inode)

          (if (identical? node root)
            nil
            (set! root node))
          (if ^boolean (.-modified removed-leaf?)
            (set! count (dec count)))
          tcoll))
      (throw (js/Error. "dissoc! after persistent!"))))
