 		try self.init(open: FilePath(stringpath))
 	}
 
-	fileprivate static func errorForFile(at stringpath: String, writing: Bool) throws {
-		guard let type = FileType(stringpath) else {
-			throw FileSystemError.notFound(path: FilePath(stringpath))
+	fileprivate static func errorForFile(at path: FilePath, writing: Bool) throws {
+		guard let type = FileType(path) else {
+			throw FileSystemError.notFound(path: path)
 		}
 		if type == .directory {
-			throw FileSystemError.isDirectory(path: DirectoryPath(stringpath))
-		}
-		throw FileSystemError.invalidAccess(path: FilePath(stringpath), writing: writing)
+			throw FileSystemError.isDirectory(path: DirectoryPath(path))
+		}
+		throw FileSystemError.invalidAccess(path: path, writing: writing)
 	}
 }
 

	public convenience init(open path: FilePath) throws {
		try path.verifyIsInSandbox()
		guard let filehandle = FileHandle(forWritingAtPath: path.absoluteString) else {
			try WritableFile.errorForFile(at: path.absoluteString, writing: true)
			fatalError("Should have thrown error when opening \(path.absoluteString)")
		}
		self.init(path: path, filehandle: filehandle)

		filehandle.synchronizeFile()
	}

	/// A WritableStream which writes to standard output.
	static public var stdout: WritableStream = StdoutStream.default

	/// A WritableStream which writes to standard error.
	static public var stderror: WritableStream = {
		WritableFile(path: "/dev/stderr", filehandle: FileHandle.standardError)
	}()
