title: How to call returned function with implicits without assigning to val
body: <p>Suppose I have an object like:</p>
  <pre><code>object MyObj {
    def apply(args: List[String])(implicit v: Int): Unit =&gt; Int = (_: Unit) =&gt; args.length + v
  }
  </code></pre>
  <p>If I want to MyObj.apply, I have to do:</p>
  <pre><code>implicit val v = 5
  val myObj = MyObj(List(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;))
  myObj()
  </code></pre>
  <p>But that feels redundant. What I want to be able to do is:</p>
  <pre><code>implicit val v = 5
  MyObj(List(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;))()
  </code></pre>
  <p>Unfortunately, that doesn't seem to work. The system complains that I'm missing my implicit arguments, which makes sense, but is a bummer.</p>
  <p>Is there any way that I can call the function returned from the <code>apply</code> method directly without first assigning it to a value?</p>