私はいつもこの種のことをしていることに気づきます。このようなことを簡単にするためにマクロ/関数を書くことを考えていましたが、おそらく車輪の再発明をしているのではないかと思います。
これと同じようなことをもっと簡潔に実現できる既存の機能はありますか?
(defun remove-low-words (word-list)
"Return a list with words of insufficient score removed."
(let ((result nil))
(dolist (word word-list)
(when (good-enough-score-p word) (push word result)))
result))