yeah, there's basically three levels of things that operate very differently: * &mut makes VERY strong guarantees/requirements wrt UB-ness, for the FULL time it exists * & makes somewhat strong guarantees/requirements wrt UB-ness, for the FULL time it exists * `*const`/`*mut`/`NonNull` make almost no guarantees/requirements for the duration of their existence, generally only on access and in some cases on creation