Clojure collections are expected to implement all relevant java collection interfaces, and things will quietly and subtly break if any are missed. In this case, the reducers library assumes all instances of java.util.Map implement java.lang.Iterable, and since this one doesn't it can't reduce over us, even inefficiently.