it is expected behavior, java uses invokeDynamic and a method reference is one sort of call site, kotlin uses interfaces and implementations, closures are anonymous classes, method reference is
KFunction1
that is implementation on
Function1
. In this case
KFunction1
is not implement
Consumer
class, but if consumer will function
(args)-> Unit
then method reference will work, because java type will