public static NonEmptyLazyList <B> Ap <A, B>(this NonEmptyLazyList <Func <A, B> > f, NonEmptyLazyList <A> arg) { return(f.Bind(arg.Map)); }
public static NonEmptyLazyList <C> SelectMany <A, B, C>(this NonEmptyLazyList <A> m, Func <A, NonEmptyLazyList <B> > k, Func <A, B, C> f) { return(m.Bind(a => k(a).Bind <B, C>(b => f(a, b).PureNonEmptyLazyList()))); }
public static NonEmptyLazyList <A> Join <A>(this NonEmptyLazyList <NonEmptyLazyList <A> > list) { return(list.Bind(a => a)); }
public static NonEmptyLazyList <B> SelectMany <A, B>(this NonEmptyLazyList <A> m, Func <A, NonEmptyLazyList <B> > k) { return(m.Bind(k)); }