title: Why does Scala's require method in Predef allow a String as argument?
body: <p>I can the require method in Scala's Predef class with a String as second argument, e.g. </p>
  
  <pre><code>require ("foo" == "bar", "foobar")
  </code></pre>
  
  <p>First a thought the require method is overloaded for different parameters as second argument. But it is not. The Signature of the require method (Scala 2.9.1) is: </p>
  
  <pre><code>require(requirement: Boolean, message: ⇒ Any): Unit
  </code></pre>
  
  <p>Why is the above method call possible ?</p>