While I'm writing that here is another question

Consider this:

```
helper_bit = Signal()
m.d.comb += helper_bit.eq(something1|something2^something3) # Exact value unimportant
with m.If(strobe):
    m.d.sync += output_value.eq( ~helper_bit )
```

Vs this:

```
with m.If(strobe):
    helper_bit = Signal()
    m.d.comb += helper_bit.eq(something1|something2^something3) # Exact value unimportant
    m.d.sync += output_value.eq( ~helper_bit )
```
From Amaranth's perspective is there a reason to prefer one over the other?

From a coding perspective the second is cleaner
But I think it might be selectively wiring that m.d.comb to only apply when strobe is high, which is unnecessary and might waste resources