title: Composing functions with multiple arguments
body: <p>How can I compose a function where apply takes more than one argument?</p>
  
  <p>Here is a contrived example:</p>
  
  <pre><code>val sum: List[Int] =&gt; Int = l =&gt; l.sum
  
  val double: Int =&gt; Int = i =&gt; i * i
  
  double.compose(sum).apply(List(1,2,3)) //=&gt; 36
  
  val sumAppend: (List[Int], Int) =&gt; Int = (l, i) =&gt; i :: l sum
  
  double.compose(sumAppend).apply(List(1,2,3), 1) // Attempt to append 1 to list then sum
  </code></pre>
  
  <p>The above give me a typed inferred error?</p>