let blit src src_pos dst dst_pos len = if src_pos + len > Array.length src || dst_pos + len > Array.length dst || src_pos < 0 || dst_pos < 0 then raise (Invalid_argument "blit") else for i = 0 to len-1 do dst.(dst_pos + i) <- src.(src_pos + i) done;;