Please support your argument against correctness by providing an example where an INVALID string as input to a suitable modified generic string function would result in a valid string.
There are sensible answers. But they are weird.
I would say let an INVALID string be length 0. Then accept that catting a valid and invalid string would result in a shorter length.
Which one do you think is safer?
Negative lengths are not compatible with unsigned representation.
A system implementing invalid string values must choose a text encoding such as UTF-8 that supports the concept of an invalid character. Null termination is too flexible. As such is simple length prepending.
I understand how one could shoot down implementations, but none has made a convincing argument about shooting down the idea.