permutations

trait Collection[A] {
  def permutations: Iterator[Collection[A]]
}

permutations は、このコレクションの要素のありえる組み合わせをすべて計算し、それらを列挙する Iterator を返します。