The thing is, it's fundamentally silly that one should have to deal with such a library. Why should I have to write two different code bases to perform what is essentially just a file system operation? This destroys any reasonable expectation of writing portable and extensible code.