fs.path.join coalesces slashes, which breaks protocol declarations if passed a URL. I'm not sure if it should be URL-aware, but it should probably be consistent with fs.path.combine:
fs.path.join('smb://user:pass@host/svc','path')
'smb:/user:pass@host/svc/path'
# open_fs will treat this as an OS path
fs.path.combine('smb://user:pass@host/svc','path')
'smb://user:pass@host/svc/path'
# open_fs will treat this as a SMB path
fs.path.join
coalesces slashes, which breaks protocol declarations if passed a URL. I'm not sure if it should be URL-aware, but it should probably be consistent withfs.path.combine
: