public void Then_SuccessFull_ActionOnSupplementedValAndVal()
        {
            var carInit = Pipe.Init <Car, Storage>(_ => new Storage())
                          .Then(c => c.SetMark(Car.HondaMark))
                          .Then(carAndStorage => StorageExt.SetOnStorage(carAndStorage.Val, carAndStorage.SupplementVal));

            var pipelineResult = (Option <Car, Storage>)carInit(new Car());

            Assert.IsInstanceOfType(pipelineResult.SupplementVal, typeof(Storage));
            Assert.IsInstanceOfType(pipelineResult.Val, typeof(Car));
            Assert.IsTrue(pipelineResult.Val.IsHonda());
            Assert.IsInstanceOfType(pipelineResult.SupplementVal.State.First(), typeof(Car));
            Assert.IsTrue(((Car)pipelineResult.SupplementVal.State.First()).IsHonda());
        }