The actual copying is easy, but I don't know of a safe way to get a non-MaybeUninit slice of the copied data afterwards.