* Some functions have not been ported from FilePath and are commented out: splitSearchPath, getSearchPath, normalise, equalFilePath, makeRelative, makeValid. Implementations would be accepted if you need any of these. * combine checks hasDrive on posix, this is unnecessary since hasLeadingPathSeparator checks the same thing there. isWindows && hasDrive would cover windows while avoiding that overhead. Benchmark to see if it improves. * Test suite may not build on Windows due to its use of getFileSystemEncoding. * How filename encoding even works in this ByteString library should perhaps be documented.