public function update(Functions\ElementProjection $projectionFunction) { if ($this->projectionFunction === $projectionFunction) { return $this; } return new self($projectionFunction, $this->isAscendingId); }