   (on #(nth % n) m "nth value" "a collection"))
 
 (defn has-entry
-  "passes if the sequence received has the given map-entry
-
-  (matcha/run-match (matcha/has-entry [:a 1]) {:a 1}) ; => passes
-  (matcha/run-match (matcha/has-count [:a 1]) {:a 2})  ; => fails"
+  "passes if the map received has the given map-entry
+
+  (matcha/run-match (matcha/has-entry :a 1) {:a 1}) ; => passes
+  (matcha/run-match (matcha/has-entry :a 1) {:a 2})  ; => fails"
   [k v]
   {:match (fn [m] (core/= (get m k) v))
    :description (str "a map with entry " (pr-str k) " " (pr-str v))

;;  if pass? if false
;;
;;  TODO: matchers list
;;  - has-entry
;;  - has-key
;;  - has-value
(defn describe-list [call xs]

     (if (core/contains? m k)
       (str "a map with " (pr-str (get m k)) " at key " (pr-str k) " should have had " (pr-str v) " (was " (pr-str m) ")")
       (str "a map not containing the key " (pr-str k) " (was " (pr-str m) ")")))})

(defn has-entry-that
  "passes if the map received has a value at the key given that matches the matcher

  (matcha/run-match (matcha/has-entry-that :a (matcha/= 1)) {:a 1}) ; => passes
  (matcha/run-match (matcha/has-entry-that :a (matcha/= 2)) {:a 2})  ; => fails"
  [k matcher]
  {:match (fn [m] ((:match matcher) (get m k)))
   :description (str "a map with entry " (pr-str k) " that " (:description matcher))
   :describe-mismatch
   (fn [m]
     (if (core/contains? m k)
       (str "a map with "
            ((:describe-mismatch matcher describe-class-mismatch) (get m k))
            " at key "
            (pr-str k)
            " (was " (pr-str m) ")")
       (str "a map not containing the key " (pr-str k) " (was " (pr-str m) ")")))})

(defn has-val
  "passes if the map received has the given val

  (matcha/run-match (matcha/has-val 1) {:a 1}) ; => passes
  (matcha/run-match (matcha/has-val 1) {:a 2})  ; => fails"
  [v]
  {:match (fn [m] (core/some #{v} (vals m)))
   :description (str "a map with val " (pr-str v))
   :describe-mismatch
   (fn [m]
     (str "vals: " (vals m) " (was " (pr-str m) ")"))})

(defn includes
  "passes if the sequence received includes the given item
