public static IEnumerable<T[]> Join<T>( this IEnumerable<T> this, int cartesLength, joinCartesianType t = joinCartesianType.AllPairs )