public function reduce(Callable $f, $initial = null) {
        return array_reduce($this->items, $f, $initial);
    }
public function reduce(Callable $f, $initial = null) {
        return array_reduce($this->items, $f, $initial);
    }
public function reduce ( Callable $ f , $ initial = null ) { return array_reduce ( $ this -> items , $ f , $ initial ) ; }
return a single value reduced from the collection by the
provided function.

@param callable $f
@param null $initial
@return mixed
return a single value reduced from the collection by the provided function .