Should we allow this type of code? ``` char *g(_Nt_array_ptr<char> p); void f(_Nt_array_ptr<char> p) { p = (_Nt_array_ptr<char>) g(p); } ``` There is no guarantee that the `char *` returned by the function `g()` actually contains a null-terminator.