**问题**:clojure.data/diff在比较不同地图时不一致地返回惰性序列,但其他情况下返回向量。
user> (data/diff {:a 1 :b 2} {:a 1})
({:b 2} nil {:a 1})
This与文档和正常行为不一致
user> (data/diff {:a 1 :b 2} {:a 1 :b 2})
[nil nil {:a 1, :b 2}]
user> (data/diff #{1 2 3} #{1 2 3})
[nil nil #{1 3 2}]
user> (data/diff #{1 2 3} #{1 2})
[#{3} nil #{1 2}]
文档字符串说明:"递归比较a和b,返回元组[只存在于a中的项 只存在于b中的项 同时存在于a和b中的项]",暗示它应该始终返回一个向量。