       :else
       (working-with-arglists+bodies checker-name nil {} stuff))))
 
-(defmacro checker [args & body]
+(defmacro checker
+  "Creates an anonymous function tagged as a checker. Checkers can be used 
+   to check fact results, as well as prerequisite calls."
+  [args & body]
   `(as-checker (fn ~(vec args) ~@body)))
 
 (defn checker? [item]

(ns ^{:doc "Various ways to define checkers."}
  midje.checkers.defining)

(defn as-checker [function]
  (vary-meta function assoc :midje/checker true))

(letfn [(make-checker-definition [checker-name docstring attr-map arglists arglists+bodies]


  (defmacro defchecker
    "Like defn, but tags the variable created and the function it refers to
     as checkers. Checkers can be used to check fact results, as well as prerequisite calls."
    [checker-name & stuff]
    (cond 
      (and (string? (first stuff)) (map? (second stuff)))
