(defn
dissoc-instance-attr
[index instanced-entity attr-name]
(update-in
instanced-entity
[:attributes attr-name]
(fn
[attr]
(let
[{:keys [size iter]}
(merge-attribute-opts instanced-entity attr-name attr)
data-len
(* size iter)
offset
(* index data-len)]
(update
attr
:data
(fn
[data]
(let
[v1 (subvec data 0 offset) v2 (subvec data (+ offset data-len))]
(into (into [] v1) v2))))))))