A marker trait which indicates that two different implementations of Initialize have the
same memory layout, and behave equivalently with respect to their implementations of
Initialize and AssertInit.
A trait for mutable initializable slices, that provide access to all the data required for
initialization, before the data can be assumed to be fully initialized.
A trait for slices (or owned memory) that contain possibly uninitialized slices themselves.
That is, the Initialize trait but for singly-indirect slices.