The signature of TraversableLike.flatMap
is as follows:
def flatMap[B, Th](f : (A) => Traversable[B])(implicit bf : CanBuildFrom[Repr, B, Th]) : Th
The signature of GenericTraversableTemplate.flatten
is:
def flatten[B](implicit asTraversable : (A) => Traversable[B]) : CC[B]
Why is the latter method (which seems to me to differ from flatMap
only in the sense that the transformer function is implicit
) not definable on TraversableLike
as:
def flatten[B, Th](implicit asTraversable: (A) => Traversable[B],
implicit bf : CanBuildFrom[Repr, B, Th]) : Th
Is there some reason that this must be the case?