public function update(Expression $value) { if ($this->value === $value) { return $this; } return new self($value); }