Rust needs a safe abstraction over uninitialized memory

Related: `freeze(MaybeUninit<T>) -> MaybeUninit<T>` for masked reads - #32 by RalfJung