os.fspath() will be changed to ensure the output of calling obj.__fspath__() is a str or bytes object.
So the final behavior of calling os.fspath() will be to return a str or bytes or to raise an exception.
I'll update the code for this change, as well is the places in the stdlib that do/should be using os.fspath().