Kotlin sobrecarga la ambigüedad de resolución en la biblioteca estándar

En Kotlin 0.12.1230 parece que las API en desuso están bloqueando el uso de sus reemploops.

Por ejemplo, el comstackdor se queja sobre el siguiente fragment porque "no puede elegir entre … candidatos sin completar la inferencia de tipo"

val seq = sequenceOf("1") val first = seq.firstOrNull() 

Los candidatos son Sequence<T>.firstOrNull y Stream<T>.firstOrNull que tienen firmas idénticas y Sequence<T> extiende Stream<T> . Además, Stream<T> está en desuso en favor de Sequence<T> .

Al intentar resolver la ambigüedad de inferencia de tipo, como se ve a continuación, el comstackdor se queja de "ambigüedad de resolución de sobrecarga".

 val seq = sequenceOf("1") val first = seq.firstOrNull<String?>() 

¿Hay alguna forma de resolver la ambigüedad mientras esperamos que las API obsoletas desaparezcan por completo?

Parece que el lanzamiento al tipo less específico, en este caso el tipo obsoleto Stream<T> , lo logra, pero ahora mi código depende explícitamente de un tipo obsoleto cuando no tengo deseo de hacerlo:

 val seq = sequenceOf("1") val first = (seq as Stream<String>).firstOrNull() 

Espero que haya una mejor manera?