Kotlin y RxJava: ¿por qué mi Single.zip () no se está compilando?

Me estoy volviendo un poco loco aquí. Estoy tratando de crear unObservable<BigDecimal> función de extensión (contra RxJava 2.x) para emitir el promedio de las emisiones, pero obtengo un error de compilación con elSingle.zip() función. ¿Alguien tiene alguna idea de lo que estoy haciendo mal? Traté de ser explícito con todos mis tipos también y eso no funcionó ...

import io.reactivex.Observable
import io.reactivex.Single
import java.math.BigDecimal


fun Observable<BigDecimal>.sum() = reduce { total, next -> total + next }

//compile error
fun Observable<BigDecimal>.average() = publish().autoConnect(2).let {
    Single.zip(it.sum().toSingle(), it.count()) {
        sum, count -> sum / BigDecimal.valueOf(count)
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta