protocolsince v0.0-927 clojure.lang/CountedEdit
implemented for ArrayChunk BlackNode ChunkBuffer EmptyList IndexedSeq IntegerRange IntegerRangeChunk List MapEntry ObjMap PersistentArrayMap PersistentArrayMapSeq PersistentHashMap PersistentHashSet PersistentQueue PersistentTreeMap PersistentTreeMapSeq PersistentTreeSet PersistentVector RSeq RedNode Subvec TransientArrayMap TransientHashMap TransientHashSet TransientVector nil

Source docstring:
Protocol for adding the ability to count a collection in constant time.
Source code @ clojurescript:src/main/cljs/cljs/core.cljs
(defprotocol ICounted
  (^number -count [coll]
    "Calculates the count of coll in constant time. Used by cljs.core/count."))