This will probably need a different trait (`StrictNonNull`?) as NonNull has additional invariants on its address that must be upheld.