¿Por qué no puedo usar lambda para la interfaz en kotlin?

mira, tengo una class de Java:

public final class JavaReceiveSingle { public static void useSingle(Single single) { single.doSth(); } public static void useSingle2(SingleInterface singleInterface) { singleInterface.doSth(); } } 

una interfaz de Java:

 public interface SingleInterface { void doSth(); } 

una interfaz de kotlin:

 interface Single { fun doSth() } 

Ahora puedo usar lambda en una class de kotlin como:

 JavaReceiveSingle.useSingle2({}) 

Pero si quiero hacer lo mismo con la interfaz de Kotlin:

 JavaReceiveSingle.useSingle({}) 

IDE mostrará el error: Obligatorio: ¡Único! Encontrado: () -> Unidad

Y si especifico solo como:

 JavaReceiveSingle.useSingle(Single{}) 

Aún error: ¡Interface Single no tiene construcciones!

Aunque el siguiente código funciona:

 JavaReceiveSingle.useSingle(object :Single{ override fun aa() {} }) 

Pero ¿por qué no puedo usar lambda para una interfaz de Kotlin?