protocolsince v0.0-927Edit
implemented for ArrayNodeSeq BlackNode ChunkedCons ChunkedSeq Cons Cycle EmptyList IndexedSeq IntegerRange Iterate KeySeq LazySeq List MapEntry MetaFn NodeSeq ObjMap PersistentArrayMap PersistentArrayMapSeq PersistentHashMap PersistentHashSet PersistentQueue PersistentQueueSeq PersistentTreeMap PersistentTreeMapSeq PersistentTreeSet PersistentVector RSeq Range RedNode Repeat Subvec Symbol ValSeq Var

Source docstring:
Protocol for adding metadata to an object.
Source code @ clojurescript:src/main/cljs/cljs/core.cljs
(defprotocol IWithMeta
  (^clj -with-meta [o meta]
    "Returns a new object with value of o and metadata meta added to it."))