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