public static Either <IEnumerable <TResult>, TRight> Zip <T1, T2, TResult, TRight>( IEnumerable <T1> first, IEnumerable <T2> second, Func <T1, T2, Either <TResult, TRight> > resultSelector) => Either.Collect(first.Zip(second, resultSelector));
public static Either <IEnumerable <TResult>, TRight> Map <T, TResult, TRight>( IEnumerable <T> source, Func <T, Either <TResult, TRight> > selector) => Either.Collect(source.Select(selector));