Unless I'm missing something, `synthetic_id` is just the block position in the `blocks` array plus 1.
The structuriser allocates ids in a particular order not identical to array order, but your code doesn't necessarily need to do that, so yes this can be removed at least for now.