   (matcha/run-match (matcha/not (matcha/= 2)) 1) ; => fails"
   [m]
   {:match #(core/not ((:match m) %))
-   :description (describe-list "not" [m])
+   :description (str "not " (:description m))
    :describe-mismatch
    standard-describe-mismatch})
 
 (defn describe-class-mismatch [x]
-  (str "was " (pr-str x) " <" (class x) ">"))
+  (str "was " (pr-str x)
+       (if (nil? x)
+         ""
+         (str " <" (class x) ">"))))
 
 (defn instance?
   "passes if the value matches the given class

    (matcha/run-match matcha/string? 1) ; => fails"}
  string?
  {:match core/string?
   :description "(string?)"
   :describe-mismatch describe-class-mismatch})

(def
  ^{:doc

  (matcha/run-match (matcha/= 1) 2) ; => fails"
  [a]
  {:match (fn [b] (core/= a b))
   :description (pr-str a)
   :describe-mismatch standard-describe-mismatch})

(defn <=
