public static IList<IList<T>> Join<T>( this IList<T> this, int length, joinCartesianType t = joinCartesianType.AllPairs )