         }
 
         [Test]
-        public function testOption():void
+        public function testFoldAsOption():void
         {
             var nullable:Stream = $(null);
             var nonnull:Stream = $("random");

            vegetables.sortOn("name");

            vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING);
            log.info("{0}", vegetables);

            var val:Number = vegetables[0].price;
            for (var i:int = 0; i < vegetables.length; i++)

            assertEquals(sum1, 10);

            var sum2:Number = $(0, 1, 2, 3, 4).fold(function (prev:Number, current:Number):Number
            {
                return prev + current;
            }, 10);

            assertEquals(sum2, 20);
        }

        [Test]
        public function testFoldLeft():void
        {
            var sum1:Number = $(0, 1, 2, 3, 4).foldLeft(function (prev:Number, current:Number):Number
            {
                return prev + current;
            }, 0);

            assertEquals(sum1, 10);

            var sum2:Number = $(0, 1, 2, 3, 4).foldLeft(function (prev:Number, current:Number):Number
            {
                return prev + current;
            }, 10);

            assertEquals(sum2, 20);
        }

        [Test]
        public function testFoldRight():void
        {
            var sum1:Number = $(0, 1, 2, 3, 4).foldRight(function (prev:Number, current:Number):Number
            {
                return prev + current;
            }, 0);

            assertEquals(sum1, 10);

            var sum2:Number = $(0, 1, 2, 3, 4).foldRight(function (prev:Number, current:Number):Number
            {
                return prev + current;
            }, 10);
