$link_ids */ public function __construct( public readonly int $id, public readonly FixAction $action, public readonly int $created_at, public readonly string|null $new_url, public readonly string $first_url, public readonly array $link_ids, public readonly FixProgress $progress ) { } public function with_id( int $id ): self { return new self( $id, $this->action, $this->created_at, $this->new_url, $this->first_url, $this->link_ids, $this->progress ); } public function with_progress( FixProgress $progress ): self { return new self( $this->id, $this->action, $this->created_at, $this->new_url, $this->first_url, $this->link_ids, $progress ); } public function links_total(): int { return count( $this->link_ids ); } }