No se pudo deducir Kotlin y RxJava

Estoy intentando implementar el rebash cuando en mi Observable cuando está ocurriendo un timeot, pero tengo errores extraños subrayados en IDE Android Studio 3.0

Aquí está el código:

rxRssiRepository.onRssiUpdate() //returns Observable<RssiEvent> .timeout(10, TimeUnit.MILLISECONDS) .retryWhen { t: Observable<Throwable> -> t.flatMap { error: Throwable -> if (error is TimeoutException) { stopLocationUpdates() Log.v("TIMEOUT", "TIMEOUT RSSI EVENTS") Observable.just(Observable.empty()) } else { Observable.error(error) } } } .concatMap { t: RssiEvent -> appendRssiEvent(t) } .publish() 

El IDE subraya en rojo el operador .flatMap y dice:

Falló la inferencia de tipo: no hay suficiente información para inferir el parámetro R en

diversión flatMap (mapper: ((t: Throwable) → ObservableSource)!): Observable! Por favor especifíquelo explícitamente.

Lo mismo para el operador 'si':

La inferencia de tipo para la expresión de flujo de control ha fallado. Por favor especifique su tipo explícitamente

Para el operador .just:

Error de inferencia de tipo: no hay suficiente información para inferir el parámetro T solo en diversión (elemento: T!): Observable! Por favor especifíquelo explícitamente.

Para el operador .empty:

Falló la inferencia de tipo: no hay suficiente información para inferir el parámetro T en

diversión justo (artículo: T!): observable! Por favor especifíquelo explícitamente.

Y para el operador .error:

Falló la inferencia de tipo: no hay suficiente información para inferir el parámetro T en

error de diversión (exception: Throwable!): observable! Por favor especifíquelo explícitamente.

¿Cómo arreglar esto?

Quiero decir, este código también estaba aquí en Java: cómo agregar un time de espera para detectar que un Observable no emitió por un time

Pero cuando lo convierto de manera similar a Kotlin, me da el problema de situación descrito

El comstackdor no puede determinar qué tipo desea devolver.

La solución más fácil en su caso sería agregar un tipo de su tipo de devolución. Algo como esto Observable.just(Observable.empty<Any>()) . Ahora el comstackdor podrá averiguar qué tipo devolver.