cartesianProduct

fun cartesianProduct(a: Set<*>, b: Set<*>, vararg sets: Set<*>): List<List<*>>

Computes the cartesian product of the supplied sets and returns a list holding the rows of the cartesian product