public function all(callable $func) { foreach ($this->iterator as $current) { $match = LinqHelper::getBoolOrThrowException($func($current)); if (!$match) { return false; } } return true; }