A Clojure map both implements the interfaces - java.util.Map and java.lang.Iterable.
Currently while encoding the data, the latter interface is used and not the former. See Value.value method.
It would be better to use the former. So if value is a instance of Map should be moved up in the method.
Thank you.