funKTionale for M10
This version comes with a firstOption extension function for types with firstOrNull function like arrays, Iterable and so on
[Test] fun firstOption() {
val l = listOf(1, 2, 3, 4, 5, 6)
assertEquals(l.firstOption(), Some(1))
assertEquals(l.firstOption { it > 2 }, Some(3))
}