   (-lookup
    ([o k] nil)
    ([o k not-found] not-found))
-
-  IAssociative
-  (-assoc [_ k v] (hash-map k v))
 
   IMap
   (-dissoc [_ k] nil)

  IAssociative
  (-assoc [coll key val]
    (let [v-pos (+ start key)]
      (build-subvec meta (-assoc v v-pos val)
               start (max end (inc v-pos))
               nil)))



  ICollection
  (-conj [coll o]
    (PersistentHashSet. meta (assoc hash-map o nil) nil))

  IEmptyableCollection
  (-empty [coll] (with-meta cljs.core.PersistentHashSet/EMPTY meta))
