Why do I have to return Unit.INSTANCE when implementing in Java a Kotlin function that returns a Unit? : <p>If I have a Kotlin function</p>

<pre><code>fun f(cb: (Int) -&gt; Unit)
</code></pre>

<p>and I want to call <code>f</code> from Java, I have to do it like:</p>

<pre><code>f(i -&gt; {
     dosomething();
     return Unit.INSTANCE;
});
</code></pre>

<p>which looks very ugly. Why can't I just write it like <code>f(i -&gt; dosomething());</code>, since <code>Unit</code> in Kotlin is equivalent to <code>void</code> in Java?</p>
