目前,通过使用_MetaFn_类型来包装函数实现了_IWithMeta_。
但是,这破坏了对元数据化值_typeof_的某些期望
(defn Foo [_] "bar")
(goog/typeOf Foo)
;; => "function"
(goog/typeOf (with-meta Foo {:bar "baz"}))
;; => "object"
当与使用_typeof_进行检查的JS代码互操作时,这不是理想的情况
(react-is/isValidElementType Foo)
;; => true
(react-is/isValidElementType (with-meta Foo {:bar "baz"}))
;; => false
理想情况下,with-meta应该在可能的情况下保留_typeof_值。