Paxedit is a nifty Emacs project that goes beyond paredit: https://github.com/promethial/paxedit/blob/master/readme.org It understands e.g. (setf x 1 y 2), where you want to transpose pairs of expressions. It's also smart enough to allow you to operate on the sexp containing point, without you needing to move!