At the time of writing this, there is a nuance when Kotlin invokes Java libraries with functional parameters. This problem especially rears its head in RxJava 2.0 when many parameter overloads are introduced. Kotlin does not have this issue when invoking Kotlin libraries but it does with Java libraries. When there are multiple argument overloads for different functional SAM types on a given Java method, Kotlin gets lost in its inference and needs help. Until JetBrains resolves this issue, you will need to work around this either by being explicit or using RxKotlin's helpers.
Here is a notorious example: The zip() operator. Try to do a simple zip here and you will get a compile error due to failed inference:
Â
import io.reactivex.Observable
fun main(args: Array<String>) {
val strings = Observable.just("Alpha", "Beta"...