elispの書き方について質問します

(if test
(list (aa) (bb) (cc) (dd) (ee))
(list (aa) (ff) (ee)))

(aa)や(dd)などはすべて文字列を返す関数で、
このような処理をしようと思うのですが、
list関数と aa, ee関数が重複しており編集しづらいです
重複分を削る手はないでしょうか