let copy ra =
    let ar = Weak.create (real_length ra) in
    for i = 0 to real_lix ra do Weak.set ar i (unsafe_get ra i) done;
    {ra with ar = ar}