无法检查值是否可约简(可以传递给
{{reduce}})。
可以尝试使用{{clojure.lang.IReduce}}
和{{clojure.core.protocols/CollReduce}}来拼凑一些东西,但这并不令人满意
{{CollReduce}} 协议已扩展到{{java.lang.Object}},因此
{{(satisfies? CollReduce x)}}总是返回true,即使对于在约简时
会抛出异常的值。
在我看来,将{{CollReduce}}扩展到{{Object}}可能是
一个问题。
请注意,ClojureScript有一个工作的{{reduceable?}},这似乎没有
受到此问题的影响。