I did attempt a newtype and a struct wrapper around Rawlink before, which would also shield it the same way, then I discovered that  struct Rawpointer { p: Option<&T> }   would again be 16 bytes. Maybe a struct around *mut T  is the way.