let copy ({ ar = ar } as ra) = let new_ar = Impl.make (real_length ra) (Impl.unsafe_get ar 0) in for i = 1 to real_lix ra do Impl.unsafe_set new_ar i (Impl.unsafe_get ar i) done; { ra with ar = new_ar }