Función superior con generics en kotlin

Por ejemplo, tengo el siguiente código de muestra

fun f<T>( cb: (T, Int) -> Unit ): Unit { println("f called with cb which accepts 2 arguments"); } fun f<T>( cb: (T) -> Unit ): Unit { println("f called with cb which accepts 1 argument"); f<T> {item, position -> cb(item) } } fun main(args : Array<String>) { f { item -> } f { item, position -> } } 

Olvidadamente deseo que la function f elija la implementación correcta depende de la cantidad de arguments que voy a pasar al cierre

Actualmente k ompiller me da error:

 (8, 7) : Overload resolution ambiguity: internal fun <T> f(cb: (T, kotlin.Int) -> kotlin.Unit): kotlin.Unit defined in root package internal fun <T> f(cb: (T) -> kotlin.Unit): kotlin.Unit defined in root package 

Código en sandbox en línea: http://kotlin-demo.jetbrains.com/?publicLink=100745728838428857114-628607155

Versión de Compiller: org.jetbrains.kotlin: kotlin-gradle-plugin: 0.10.770


UPD: problema relacionado en youtrack: https://youtrack.jetbrains.com/issue/KT-6939