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!
miniblog.
Related Posts
"It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures." — Alan Perlis
I'm still not sure I agree with this: explicit data types are often nice. Following this maxim leads to pervasive lists or hash maps.