public function distinct(callable $func = null) { return new Linq(new DistinctIterator($this->getSelectIteratorOrInnerIterator($func))); }