¿Por qué tengo que devolver Unit.INSTANCE al implementar en Java una función Kotlin que devuelve una Unidad?

Si tengo una función de Kotlin

fun f(cb: (Int) -> Unit)

y quiero llamarf desde Java, tengo que hacerlo así:

f(i -> {
     dosomething();
     return Unit.INSTANCE;
});

que se ve muy feo ¿Por qué no puedo simplemente escribirlo comof(i -> dosomething());, ya queUnit en Kotlin es equivalente avoid en Java

Respuestas a la pregunta(2)

Su respuesta a la pregunta