(defmacro _f (op place &rest args) (multiple-value-bind (vars forms var set access) (get-setf-expansion place) `(let (,@(mapcar #'list vars forms) (,(car var) (,op ,access ,@args))) ,set)))