I\'m trying to learn Kotlin, but I find it quite a counter intuitive language. One big struggle is that Kotlin doesn\'t have any sort of general monad concept. So I figured as