title: Why is "contains" implemented in Seq, but not in Iterable or Traversable?
body: <p>Following does not work:</p>
  
  <pre><code>val t: Traversable[Int] = Seq(0, 1, 2)
  
  t contains 0
  </code></pre>
  
  <p>Even changing <code>Traversable</code> to <code>Iterable</code> does not help. One needs to use <code>Seq</code>, or <code>t exists (_ == 0)</code>.</p>
  
  <p>When checking the implementation, <code>contains</code> is implemented in <code>SeqLike</code> as follows:</p>
  
  <pre><code>def contains[A1 &gt;: A](elem: A1): Boolean = exists (_ == elem)
  </code></pre>
  
  <p>As <code>exists</code> is already implemented for <code>Traversable</code>, why not <code>contains</code>?</p>