   (-contains-key? [coll k]
     (obj-map-contains-key? k strobj))
 
+  IKeyed
+  (-contains? [coll k]
+    (-contains-key? coll k))
+  
   IMap
   (-dissoc [coll k]
     (if (and (goog/isString k) (.hasOwnProperty strobj k))

  IMap
  (-dissoc [_ k] nil)

  ISet
  (-contains? [_ v] false)
  (-disjoin [_ v] nil)

  IStack

             (map odd? [1 2 3 4 -1 0])))
  (assert (= [true false true false true true]
             (map even? [2 3 4 5 -2 0])))
  (assert (contains? {:a 1 :b 2} :a))
  (assert (not (contains? {:a 1 :b 2} :z)))
  (assert (contains? [5 6 7] 1))
  (assert (contains? [5 6 7] 2))
  (assert (not (contains? [5 6 7] 3)))
  (assert (contains? (to-array [5 6 7]) 1))
  (assert (contains? (to-array [5 6 7]) 2))
  (assert (not (contains? (to-array [5 6 7]) 3)))
  (assert (not (contains? nil 42)))
  :ok
  )

