title: why and when is 'implicitly' required
body: <p>I'm trying to understand the use of the 'implicitly' operation:</p>
  
  <pre><code>class foo {
    def x : Int = 12
  }
  
  object foo {
    implicit def intToFoo(x : Int ) : foo = new foo
  }
  
  object bar {
     implicitly[foo](1).x
  }
  </code></pre>
  
  <p>The above compiles. But I can't work out why the 'implicitly' operation is required. It seems to me that because the 'destination companion object' includes the implicit conversion, it should automatically happen.</p>