public function update($castType, Expression $castValue) { if ($this->castType === $castType && $this->castValue === $castValue) { return $this; } return new self($castType, $castValue); }