public static HashSet <Lst <B> > Traverse <A, B>(this Lst <HashSet <A> > ma, Func <A, B> f) => toHashSet(CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToSystemArray(), f) .Map(toList));
public static HashSet <Que <B> > Traverse <A, B>(this Que <HashSet <A> > ma, Func <A, B> f) => toHashSet(CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(toQueue));
public static Stck <Seq <B> > Traverse <A, B>(this Seq <Stck <A> > ma, Func <A, B> f) => toStack(CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(xs => Seq(xs)));
public static Que <Set <B> > Traverse <A, B>(this Set <Que <A> > ma, Func <A, B> f) => toQueue(CollT.AllCombinationsOf(ma.ToArray().Map(xs => xs.ToList()).ToArray(), f) .Map(toSet));
public static Lst <IEnumerable <B> > Traverse <A, B>(this IEnumerable <Lst <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(xs => xs.AsEnumerable()) .Freeze();
public static Arr <IEnumerable <B> > Traverse <A, B>(this IEnumerable <Arr <A> > xxs, Func <A, B> f) => CollT.AllCombinationsOf(xxs.Map(xs => xs.ToList()).ToArray(), f) .Map(xs => xs.AsEnumerable()) .ToArr();
public static IEnumerable <Stck <B> > Traverse <A, B>(this Stck <IEnumerable <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Reverse().Map(xs => xs.ToList()).ToArray(), f) .Map(toStack);
public static Lst <Lst <B> > Traverse <A, B>(this Lst <Lst <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToSystemArray(), f) .Map(toList) .Freeze();
public static IEnumerable <HashSet <B> > Traverse <A, B>(this HashSet <IEnumerable <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.ToArray().Map(xs => xs.ToList()).ToArray(), f) .Map(toHashSet);
public static IEnumerable <Que <B> > Traverse <A, B>(this Que <IEnumerable <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(toQueue);
public static IEnumerable <Seq <B> > Traverse <A, B>(this Seq <IEnumerable <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(xs => Seq(xs));
public static Arr <Stck <B> > Traverse <A, B>(this Stck <Arr <A> > xxs, Func <A, B> f) => CollT.AllCombinationsOf(xxs.Reverse().Map(xs => xs.ToList()).ToArray(), f) .Map(toStack) .ToArr();
public static Arr <Set <B> > Traverse <A, B>(this Set <Arr <A> > xxs, Func <A, B> f) => CollT.AllCombinationsOf(xxs.Map(xs => xs.ToList()).ToArray(), f) .Map(toSet) .ToArr();
public static HashSet <IEnumerable <B> > Traverse <A, B>(this IEnumerable <HashSet <A> > ma, Func <A, B> f) => toHashSet(CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(xs => xs.AsEnumerable()));
public static Seq <Set <B> > Traverse <A, B>(this Set <Seq <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.ToArray().Map(xs => xs.ToList()).ToArray(), f) .Map(toSet) .ToSeq();
public static HashSet <Stck <B> > Traverse <A, B>(this Stck <HashSet <A> > ma, Func <A, B> f) => toHashSet(CollT.AllCombinationsOf(ma.Reverse().Map(xs => xs.ToList()).ToArray(), f) .Map(toStack));
public static Stck <Lst <B> > Traverse <A, B>(this Lst <Stck <A> > ma, Func <A, B> f) => toStack(CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToSystemArray(), f) .Map(toList));
public static Lst <Que <B> > Traverse <A, B>(this Que <Lst <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(toQueue) .Freeze();
public static Stck <Que <B> > Traverse <A, B>(this Que <Stck <A> > ma, Func <A, B> f) => toStack(CollT.AllCombinationsOf(ma.Map(xs => xs.ToList()).ToArray(), f) .Map(toQueue));
public static Lst <Stck <B> > Traverse <A, B>(this Stck <Lst <A> > ma, Func <A, B> f) => CollT.AllCombinationsOf(ma.Reverse().Map(xs => xs.ToList()).ToArray(), f) .Map(toStack) .Freeze();
public static Set <HashSet <B> > Traverse <A, B>(this HashSet <Set <A> > ma, Func <A, B> f) => toSet(CollT.AllCombinationsOf(ma.ToArray().Map(xs => xs.ToList()).ToArray(), f) .Map(toHashSet));