目前 defmulti 和 defmethod 没有规范,且宏验证也不充分。
user=> (defmulti 5 class) ClassCastException 类 java.lang.Long 无法转换为类 clojure.lang.IObj
为 defmulti 和 defmethod 添加规范。
之后
user=> (defmulti 5 class) 语法错误 在宏展开 clojure.core/defmulti 时 (1:1)。 5 - 失败:simple-symbol? 在 [:fn-name]
补丁: clj-2416.patch