title: Is Option GenTraversableOnce?
body: <p>I am confused. In <code>TraversableLike</code>, there is a function <code>flatMap</code> with the signature</p>
  
  <p><code>flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Iterable[B]</code></p>
  
  <p>However, I can use it this way</p>
  
  <pre><code>scala&gt; Iterable(1,2,3,4,5).flatMap{i=&gt;if (i%2==0) {None} else {Some(i)}}
  res1: Iterable[Int] = List(1, 3, 5)
  </code></pre>
  
  <p>Why is it possible? How is <code>Option</code> converted to <code>GenTraversableOnce</code>? It doesn't seem like a subclass...</p>