Alex,
I added a patch addressing these two issues by adding deref- methods to the IAtom (breaking!) and quite straightforward implementations of the reset (from get-and-set.diff of Steven Yi) and a simple search and replace of the variable names in the derefSwap versions. I renamed "v" in the swap implementation to "oldv" for clarity on the return row.
I added the patch in CLJ-1454.
I guess you have to consider if the breaking of IAtom.java is worth it. Other implementations avoiding this interface change is certainly possible.
/Linus