       (if i
         true
         false)))
-
-  IKeyed
-  (-contains? [coll k]
-    (-contains-key? coll k))
   
   IMap
   (-dissoc [coll k]

  (-lookup [coll v]
    (-lookup coll v nil))
  (-lookup [coll v not-found]
    (if (-contains? coll v)
      v
      not-found))

  IKeyed
  (-contains? [coll v]
    (-contains-key? hash-map v))
  
  ISet
  (-disjoin [coll v]
    (Set. meta (dissoc hash-map v)))

    ([array f]
       (ci-reduce array f))
    ([array f start]
       (ci-reduce array f start))))

(defn seq
  "Returns a seq on the collection. If the collection is
