 (of-functions)
   
 -;; Deprecated checkers
+;; deprecated checkers
 
 (defn map-containing [expected]
   "Accepts a map that contains all the keys and values in expected,


(def has-prefix
     (container-checker
      (has-xfix "prefix" #(re-pattern (str "^" (.toString %))) midje-take)))
(def has-suffix
     (container-checker
      (has-xfix "suffix" #(re-pattern (str (.toString %) "$" )) midje-take-last)))
			    
;; (def has-prefix (container-checker
;;    (fn [actual expected kind]
;;      (cond (set? actual)
;; 	   (tag-as-chatty-falsehood {:actual actual
;; 				     :notes ["Sets don't have prefixes."]})

;; 	   :else
;; 	   (let [ [actual expected kind] (standardized-arguments actual expected kind)]
;; 	     (cond (regex? expected)
;; 		   (midje-re-find ) actual)
	    
;; 		   (expected-fits? actual expected)
;; 		   (apply actual-x-contains?
;; 			  [(midje-take (count expected) actual) expected kind])

;; 		   :else
;; 		   false))))))

;; (def has-suffix (container-checker
;;     (fn [[actual expected kind]]
;;       (cond (regex? expected)
;; 	    (midje-re-find ) actual)
      
;; 	    (expected-fits? actual expected)
;; 	    (apply actual-x-contains?
;; 		   [(midje-take-last (count expected) actual) expected kind])

;; 	    :else
;; 	    false))))

(defn has [quantifier predicate]
  (fn [actual]
    (quantifier predicate
		(if (map? actual)
		  (vals actual)
		  actual))))

(defn n-of [expected expected-count]
  {:midje/checker true}

;;Checkers that work with collections.


(defn- all-expected-permutations [expected]
  (cond (and (not-any? extended-fn? expected)
