Replace in-place bashing of transient with atom.

Transients improve performance by dropping persistence, but the interface they expose is still functional. It's an error to bash them in-place vs use the return values of `assoc!` etc, and only works (or appears to work) when the number of modifications is relatively small.

Fortunately it's a simple change to bash an atom instead, which is what they're there for :-).