To me, the default proposal to expand the domain of open and other path functions is to call str on the path arg, either always or as needed. We should then ask "why isn't str() good enough"? Most bad args for open will immediately result in a file-not-found exception. But the os.path functions would not. Do the possible bugs and violation of python philosophy out-weigh the simplicity of the proposal?