Because that will introduce a performance penalty for `WindowsPath`. `BytesContainer` is for things that *can* be treated as a container of bytes, but in some cases it's more performant to keep it as a `&str` if possible. For most functions, there's no test needed because `PosixPath` will treat it as `&[u8]` and `WindowsPath` will treat it as `&str`, but this function needs to convert the arg into either a `&[u8]` or a `&str` before it can pass it to the impl-specific method (because it can't consume the arg).