@ryandur/sand
    Preparing search index...

    Namespace Result

    Array.reduce lifted over the container: reduce.all demands every item succeed; reduce.some forgives the items that fail and keeps the reductions that land. Result.Async.reduce does the same for asynchronous results.

    Result.reduce.all([success(1), success(2)], (a, b) => success(a + b), success(0)).orNull(); // produces: 3
    Result.reduce.some([success(1), failure('x')], (a, b) => success(a + b), success(0)).orNull(); // produces: 1
    Async
    Async
    reduce