/// <summary> /// Creates a <see cref="IConversionSuite"/> from a method sequence /// </summary> /// <param name="methods">The conversion methods</param> /// <returns></returns> public static IConversionSuite FromMethods(Seq <MethodInfo> methods) => new ConversionSuite(methods.Stream());
public static Seq <X> Where <X>(this Seq <X> s, Func <X, bool> predicate) => Seq.make(from x in s.Stream() where predicate(x) select x);
public static Seq <Z> SelectMany <X, Y, Z>(this Seq <X> s, Func <X, Seq <Y> > lift, Func <X, Y, Z> project) => Seq.make(from x in s.Stream() from y in lift(x).Stream() select project(x, y));
public static Seq <Y> SelectMany <X, Y>(this Seq <X> s, Func <X, Seq <Y> > lift) => Seq.make(from x in s.Stream() from y in lift(x).Stream() select y);
public static Seq <Y> Select <X, Y>(this Seq <X> s, Func <X, Y> selector) => Seq.make(from x in s.Stream() select selector(x));