It is not possible to check whether a value is reducible (can be passed
to {{reduce}}).
One can try to cobble something together using {{clojure.lang.IReduce}}
and {{clojure.core.protocols/CollReduce}} but this is not satisfactory:
the {{CollReduce}} protocol is extended to {{java.lang.Object}}, so
{{(satisfies? CollReduce x)}} always returns true, even for values that
will throw an exception when reduced.
It seems to me that the extension of {{CollReduce}} to {{Object}} may be
problematic.
Note that ClojureScript has a working {{reduceable?}}, so doesn't seem
to suffer from this problem.