A couple years ago, I saw a description of Arc's let syntax and immediately thought it was the Right Thing. I added an implementation to my util.lisp file that goes in to just about everything I write:
(defmacro let1 (var val &body body)
`(let ((,var ,val))
,@body))