   ICollection
   (-conj [coll o] (List. meta o coll (inc count)))
 
-; IEmptyableCollection
-; (iempty [coll] coll)
+  IEmptyableCollection
+  (-iempty [coll] coll)
 
   ISequential
   IEquiv

(defprotocol ICounted
  (-count [coll] "constant time count"))

#_(defprotocol IEmptyableCollection
    (-empty [coll]))

(defprotocol ICollection
  (-conj [coll o]))

      (.push new-array o)
      (Vector. meta new-array)))

  IEmptyableCollection
  (-iempty [coll] coll)

  ISequential
  IEquiv
