public static IRnd <IEnumerable <A> > TakeNoRepeat <A>(this IRnd <int> count, IRnd <A> rnd) where A : IEquatable <A> { return(count.SelectMany(i => i.TakeNoRepeat(rnd))); }
public static IRnd <B> SelectMany <A, B>(this IRnd <A> source, Func <A, IRnd <B> > func) { return(source.SelectMany(func, (_, b) => b)); }
public static IRnd <IEnumerable <A> > Take <A>(this IRnd <int> count, IRnd <A> rnd) { return(count.SelectMany(i => rnd.Take(i))); }