(reduce #'eq '(x x x)) -> NIL
You really have to do something like
(reduce (lambda (a b) (and (eq a b) a)) args)
which fails for `(nil nil nil), or better
(every (lambda (a) (eq a (car args))) (rest args))
Both are a little annoying. I prefer n-ary functions.
That said, #DylanLang makes all of the comparison functions binary and I don't remember ever needing an n-ary version. But if there's no performance penalty I say go for it.

