public static void Zip1a()
        {
            IEnumerable <int> first = new ThrowingEnumerable <int>();
            var second = Enumerable.Range(0, 1);
            Func <int, int, Either <int, int> > resultSelector = (i, j) => Either <int, int> .OfLeft(i + j);

            var q = Assert.DoesNotThrow(() => Either.Zip(first, second, resultSelector));

            q.OnLeft(x => Assert.ThrowsOnNext(x));
            q.OnRight(x => Assert.Fail());
        }