type ErasedPtr = NonNull<Erased>;
A thin, type-erased pointer.
Erased type is private, and should be treated as an opaque type.
extern type is stabilized,
Erased will be defined as one.
The current implementation uses a
struct Erased with size 0 and align 1.
If you want to offset the pointer, make sure to cast to a
u8 or other known type pointer first.
Erased becomes an extern type, it will properly have unknown size and align.