tim
Either.applicative<Int>().mapN(a, b, c) { (a, b, c) -> listOf(a, b, c) }.flatMap { it.right() }.fold( ifLeft = { println("try again :(") }, ifRight = { println("success: $it") } )