let unsafe_blit ra1 ofs1 ra2 ofs2 len =
guarantee_ix ra2 (ofs2 + len - 1);
if ofs1 < ofs2 then
for i = len - 1 downto 0 do
unsafe_set ra2 (ofs2 + i) (unsafe_get ra1 (ofs1 + i)) done
else
for i = 0 to len - 1 do
unsafe_set ra2 (ofs2 + i) (unsafe_get ra1 (ofs1 + i)) done