seq

たまーに使いたくなるけど、さっと書けないので、メモ。

func sequence<T>(_ xxx: [[T]]) -> [[T]] {
    xxx.reduce([[]]) { xx, x in xx.flatMap{ xx in x.map{ x in xx + [x] } } }
}