The given is applied to every item in the stream in no particular order.
The result is then returned.
In order for the callable to be a proper reductor, it should be:
Commutative, so op($a, $b) is equal to op($b, $a), and
Should preserve respect the given identity, i.e. op($a, $identity) =
$identity.
If any of these properties do not hold, the output of this function is
not defined.