public static Exceptional <U> ThenExecute <T, U>(this Exceptional <T> value, Func <T, U> getValue) { return(value.SelectMany(x => Exceptional.Execute(() => getValue(x)))); }
public static Exceptional <V> SelectMany <T, U, V>(this Exceptional <T> value, Func <T, Exceptional <U> > k, Func <T, U, V> m) { return(value.SelectMany(t => k(t).SelectMany(u => m(t, u).ToExceptional()))); }