flatMap
trait Collection[A] { def flatMap(f: (A) => Collection[B]): Collection[B] }
flatMap は、要素ひとつひとつに関数 f を適用してコレクションを作っていき、それらの結果の各要素を使った新しいコレクションを作成します。
f