public function reduce(\Closure $p, $initialValue = null)
    {
        return array_reduce($this->toArray(), $p, $initialValue);
    }
public function reduce(\Closure $p, $initialValue = null)
    {
        return array_reduce($this->toArray(), $p, $initialValue);
    }
public function reduce ( \ Closure $ p , $ initialValue = null ) { return array_reduce ( $ this -> toArray ( ) , $ p , $ initialValue ) ; }
Reduce collection with given closure.

@link http://php.net/manual/en/function.array-reduce.php

@param \Closure $p
@param mixed    $initialValue

@return mixed
Reduce collection with given closure .