title: Scala's type definition like method call
body: <p>I am looking into spray-json example, and the last line <code>val color = json.convertTo[Color]</code> has a function call that gets class type specified? Almost looks like assigning type definition to a constant. Can somebody explain what is going on there in that context?</p>
  
  <pre><code>case class Color(name: String, red: Int, green: Int, blue: Int)
  object MyJsonProtocol extends DefaultJsonProtocol {
    implicit val colorFormat = jsonFormat4(Color)
  }
  
  import MyJsonProtocol._
  import spray.json._
  
  val json = Color("CadetBlue", 95, 158, 160).toJson
  val color = json.convertTo[Color]
  </code></pre>
  
  <p>Thanks</p>