These are useful when creating larger strings or bytes arrays from C and hide away the details of the usual allocate/write/resize dance, which was the default way of doing things before we had the writer APIs (the str object still supports this via PyUnicode_Resize(), bytes do so as well, but only via the private _PyString_Resize()).