> The way I'd have done it is > > (cl-macrolet (((a field) `(cdr (assq ,field alist)))) > (if (and (a title) (a body)) > (a body) > (a site))) > Indeed, I was doing almost the same thing initially (just using cl-flet instead), but eventually even that grew tiresome.