Two flavors of NonNull (again)

const and mut is not really sufficient, we really should have a third type for pointers to owned memory: