const stackWithNumbers = convertArrayToStack([0,1,2]);
const reduceFunctionSum = acc => curr => acc + curr;
reduce( reduceFunctionSum )( 0 )( stackWithNumbers ) // returns 3
reduce( reduceFunctionSum )( 0 )( push(stackWithNumbers)(3) ) // returns 5
reduce( reduceFunctionSum )( 5 )( stackWithNumbers ) // returns 8
reduce( reduceFunctionSum )( 5 )( push(stackWithNumbers)(3) ) // returns 10
const reduceToArray = acc => curr => [...acc, curr];
reduce( reduceToArray )( [] )( stackWithNumbers ) // returns [0, 1, 2]