public function reduce(callable $function, $accumulator) { return static::of(function () use($function, $accumulator) { return call_user_func($function, $accumulator, $this->run()); }); }