 
 ;;-
 
-(defmulti compare-results
+(defmulti #^{:private true} compare-results
   (fn [actual expected looseness]
     (if (= ::map (midje-classification actual))
       (midje-classification actual)
       [::not-map (or (some #{:in-any-order} looseness) :strict-order)])))
 
 ;; There are some incommensurable utility behaviors
-(defn compare-one-map-permutation [actual expected keys]
+(defn- compare-one-map-permutation [actual expected keys]
   ;;  (prn "map-comparison" actual expected)
   (reduce (fn [so-far key]
             (if (and (find actual key)


(defn- midje-classification [thing] (if (map? thing) ::map ::not-map))

(defmulti collection-string
  "Given a list of stringified elements, convert them into appropriate
   collection text."
  (fn [midje-classification elements] midje-classification))

;;


(defn- match? [actual expected looseness]
  (let [comparison (compare-results  actual expected looseness)]
    (or (total-match? comparison)
        (apply noted-falsehood
