 (intern *ns* 'after #'background/after)
 (intern *ns* 'around #'background/around)
 
-(defmacro background [& forms]
+(defmacro background 
+  ""
+  [& forms]
   (when (user-desires-checking?)
     (put-wrappers-into-effect (background/background-wrappers forms))))
 
-(defmacro against-background [background-forms & foreground-forms]
+(defmacro against-background 
+  "Runs facts against setup code whch is run before :contents, :facts or :checks."
+  [background-forms & foreground-forms]
   (if (user-desires-checking?)
     (midjcoexpand `(against-background ~background-forms ~@foreground-forms))
     `(do ~@foreground-forms)))
     
-(defmacro fact [& forms]
+(defmacro fact 
+  ""
+  [& forms]
   (when (user-desires-checking?)
     (try
       (set-fallback-line-number-from &form)

        [midje.internal-ideas.wrapping :only [put-wrappers-into-effect]]
        [midje.internal-ideas.file-position :only [set-fallback-line-number-from]]
        [midje.ideas.tabular :only [tabular*]]
        [midje.ideas.facts :only [midjcoexpand
                                  complete-fact-transformation]])
  (:require [midje.ideas.background :as background])

                           :description ~description
                           :position (midje.internal-ideas.file-position/line-number-known ~lineno)})))

(defn- generate-future-fact-variants []
  (macro-do [name]
    `(defmacro ~(symbol name)
       "Fact that will not be run. Generates 'WORK TO DO' report output as a reminder."
       [& forms#]
       (future-fact* ~'&form))
    "future-fact"
    "future-facts"
    "pending-fact"
    "pending-facts"
    "incipient-fact"
    "incipient-facts"
    "antiterminologicaldisintactitudinarian-fact"
    "antiterminologicaldisintactitudinarian-facts" ))

(generate-future-fact-variants)

(defmacro tabular 
  "Generate a table of related facts."
  [& _]
  (tabular* (keys &env) &form))