Understanding STM behavior and transactional updates in Effect Typescript

Questioning my intuition regarding STM module.
Disclaimer: I'm rather new to STM yet concept feels pretty straightforward.
Playground link
I expected to get
None, None
Some a, None
Some a, Some b

in the output. Followed by a question - is there a way to make an atomic update to both the refs so that transaction only triggered once for both refs update?
Was this page helpful?