作为一个后来的想法,我想如果你使用`reduce`而不是`apply`,你可以遵循Rich Hickey的建议,不要使用`reduce`的两个arity版本
user=> (reduce max [])
执行错误(ArityException)在user/eval9 (REPL:1)。
传递给clojure.core/max的参数数量不正确(0)
user=> (reduce max Integer/MIN_VALUE [])
-2147483648
user=> (reduce max Integer/MIN_VALUE [2])
2
user=>