Unsafe moves proof obligations to the programmer
Creating two `&mut T` values requires them to be valid, aligned, in bounds and non-overlapping for their full lifetimes. The compiler cannot verify raw-pointer code, so every unsafe block needs a local invariant that reviewers can actually audit.