let insert a pos v =
let len = a.length in
if pos > len then raise (Invalid_argument "Index too big to insert in this ext_array");
if pos = len then
ignore(add a v)
else
(
let a1 = Array.sub a.data 0 pos in
let a2 = Array.sub a.data pos (len - pos) in
a.data <- Array.concat [ a1 ; [| v |]; a2]
)