let append ra1 ra2 = match ra1.vlix, ra2.vlix with
| -1, -1 -> empty ()
| _, -1 -> copy ra1
| -1, _ -> copy ra2
| _ ->
let len1 = length ra1 in
let len2 = length ra2 in
let res = create_fresh (len1 + len2) in
unsafe_blit_on_other ra1 0 res 0 len1;
unsafe_blit_on_other ra2 0 res len1 len2;
res