Clojure om next 多重打印方法异常

Clojure om next multiple print-method exception

我正在尝试为 om.next (1.0.0-alpha47) 构建服务器端渲染。在某些时候,我必须从 Clojure 创建一个协调器:

 (om/reconciler {})

 (om/reconciler
  {:state     (atom {})
   :normalize true
   :parser    (om/parser {})})

然而,在我的 REPL 中评估其中任何一个都会给出:

Unhandled java.lang.IllegalArgumentException Multiple methods in multimethod 'print-method' match dispatch value: class
om.next.Reconciler -> interface clojure.lang.IDeref and interface
clojure.lang.IRecord, and neither is preferred

我该如何解决?

我通过反复试验得出了这个解决方案:

(prefer-method print-method clojure.lang.IPersistentMap clojure.lang.IDeref)

这似乎解决了冲突,抱歉,我无法解释任何细节。