let unsafe_swap { ar = ar } n m = let tmp = Impl.unsafe_get ar n in Impl.unsafe_set ar n (Impl.unsafe_get ar m); Impl.unsafe_set ar m tmp