flatMap

trait Collection[A] {
  def flatMap(f: (A) => Collection[B]): Collection[B]
}

flatMap crea una colección aplicando la function f a cada elemento y utilizando los subelementos resultantes como elementos de la nueva colección.