sealed class IoResult<out T>
path
val path: Path
Failure
class Failure : IoResult<Nothing>
Success
class Success<out T> : IoResult<T>