Variant: left-recursive
The recursive step can put the recursive call first, then take a line:
It builds up in exactly the same rounds as the original, to the same eight pairs.
This does not lead to non-termination: it uses the (partial) reach from the previous round.