<@U3669PPNG> , would using sealed classes as a res...
# getting-started
g
@nkiesel , would using sealed classes as a result wrapper work for you? something like this:
Copy code
fun main(args: Array<String>) {
    
    listOf("foo", "bar", "baz")
    	.map {
            when(it) {
                "foo" -> createFoo(it)
                "bar" -> createBar(it)
                else -> Result.Invalid()
            }
        }
    .filter{it is Result.Valid}
   	.forEach{ println(it) }
    
}

sealed class Result {
    data class Valid(val subdirs: List<String>): Result()
    class Invalid: Result()
}

fun createFoo(subdirName: String): Result {
    // todo implement
    return Result.Valid(listOf("foosub1", "foosub2"))
}

fun createBar(subdirName: String): Result {
    // todo implement
    return Result.Valid(listOf("barsub1", "barsub2"))
}