 
   ; Accept a single form that will act as a renderer, returning a render
   ; result, which will be combined with other render results via the
-  ; parse-forms parser.
+  ; parse-forms parser. This form may be a symbol or a list (a function call).
   (def parse-form
        (domonad [form match-form]
          form))


  (def parse-forms
    (domonad [forms (none-or-more parse-single-form)]
      `(lazy-seq (combine ~@forms))))
) ; with-monad parser-m



(defn convert-render-result
  [any]
  "Checks the result of invoking a rendering function (or evaluating a symbol), to ensure that only
   acceptible values are returned."
  (cond
    ; A map is assumed to be a DOM node
    (map? any) (if (:cascade-dom-node ^any) any (fail "Not a DOM node: %s" (ppstring any)))
    (string? any) (text-node any)
    (number? any) (raw-node (str any))
    true (throw (RuntimeException.
      (format "A rendering function returned %s. Rendering functions should return nil, a string, a seq of DOM nodes, or a single DOM node."
    (pr-str any))))))
