Uses io.open() for Path.open()