```
size_t first_scan_idx = scan.find_next_dirty();
...
assert(*_ct->byte_for_index(region_card_base_idx + first_scan_idx) <= 0x1
```
The first_scan_idx points to a dirty card, so the assert can be `== 0x0`, aka `CardTable::dirty_card_val()`.
size_t first_scan_idx = scan.find_next_dirty();
...
assert(*_ct->byte_for_index(region_card_base_idx + first_scan_idx) <= 0x1
```
The first_scan_idx points to a dirty card, so the assert can be `== 0x0`, aka `CardTable::dirty_card_val()`.