title: scala coalesces multiple function call parameters into a Tuple -- can this be disabled?
body: <p>This is a troublesome violation of type safety in my project, so I'm looking for a way to disable it. It seems that if a function takes an AnyRef (or a java.lang.Object), you can call the function with any combination of parameters, and Scala will coalesce the parameters into a Tuple object and invoke the function.</p>
  
  <p>In my case the function isn't expecting a Tuple, and fails at runtime. I would expect this situation to be caught at compile time.</p>
  
  <pre><code>object WhyTuple {
   def main(args: Array[String]): Unit = {
    fooIt("foo", "bar")
   }
   def fooIt(o: AnyRef) {
    println(o.toString)
   }
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>(foo,bar)
  </code></pre>