TraversableOnce has a much wider set of functions required:

method toTraversable in trait TraversableOnce of type => Traversable[T] is not defined
method copyToArray in trait TraversableOnce of type [B >: T](xs: Array[B], start: Int, len: Int)Unit is not defined
method find in trait TraversableOnce of type (p: T => Boolean)Option[T] is not defined
method exists in trait TraversableOnce of type (p: T => Boolean)Boolean is not defined
method forall in trait TraversableOnce of type (p: T => Boolean)Boolean is not defined
method seq in trait TraversableOnce of type => scala.collection.TraversableOnce[T] is not defined
method hasDefiniteSize in trait TraversableOnce of type => Boolean is not defined
method isEmpty in trait TraversableOnce of type => Boolean is not defined

iterators have a much simpler interface.