public static TResult With <TSource, TResult>(this TSource self, Func <TSource, TResult> selector) { // Permit self to be null Check.Selector(selector); return(selector(self)); }
public static IEnumerable <TResult> GenerateReverse <TSource, TResult> (TSource value, Func <TSource, Maybe <Tuple <TResult, TSource> > > selector) { Check.Selector(selector); return(CreateGenerateReverseIterator(value, selector)); }
public static IEnumerable <TSource> Iterate <TSource> (TSource value, Func <TSource, TSource> selector) { Check.Selector(selector); return(CreateIterateIterator(value, selector)); }