For the second question: note that (= ...) only expands to atwith when the generalzed location appears in the place to be set. The simple assignment
(= a (f x) b (f y))
(++ a)
((fn () (set a (+ a 1))))
(++ (car a))
(atomic-invoke (fn nil (withs (gs1430 a gs1429 1) ((fn (val) (scar gs1430 val)) (+ (car gs1430) gs1429)))))
-----