add atomicModifyRGRef. real support for lock free programming would require annotating Newtons concurrency package and/or a working Hoare IO monad