flatMap
trait Collection[A] { def flatMap(f: (A) => Collection[B]): Collection[B] }
flatMap cria uma coleção aplicando a função f a cada elemento e usando os subelementos resultantes como elementos da nova coleção.
f