title: scala overloaded method value cannot be applied
body: <p>The following code works:</p>
  
  <pre><code>def bbb(v: Double =&gt; Unit)(a: Double): Unit = v(a)
  bbb{v: Double =&gt; v == 0 }(5)
  bbb{v: Double =&gt;  Array(v) }(5)
  </code></pre>
  
  <p>But if I overload <code>bbb</code> as follows, it doesn't work unless I manually assign the type signature for the first <code>bbb</code> call:</p>
  
  <pre><code>def bbb(v: Double =&gt; Unit)(a: Double): Unit = v(a)
  def bbb(v: Double =&gt; Array[Double])(a: Double): Array[Double] = v(a)
  bbb{v: Double =&gt; v == 0 }(5) // bbb{(v =&gt; v == 0):(Double =&gt; Unit)}(5)
  bbb{v: Double =&gt;  Array(v) }(5)
  </code></pre>