public function update(Expression $key = null, Expression $value, $isReference) { if ($this->key === $key && $this->value === $value && $this->isReference === $isReference) { return $this; } return new self($key, $value, $isReference); }