anchor.diff:                                'function)
                  "undef")
              :string))
  -
  
positive.code:           :dwim-array))
  
  (defun system-method-signature (method-name)
    "Returns an array of method signatures (arrays of strings listing first the 
  return type, then the argument types)."
    ;; TODO: user-def methods.
    (values
  
negative.code: (defun cxml-rpc-method-handler (tag)
    (labels
        ((dispatch ()
           (unless (eql (hunchentoot:request-method*) :post)
             (error "Method must be POST"))
           (let ((stream (hunchentoot:raw-post-data :force-binary t))
                 (*current-tag* tag))
             (multiple-value-bind (method-name param-types params)
                 (decode-method-call stream)
               (setf (hunchentoot:content-type) "text/xml")
               (invoke-method method-name param-types params)))))
      #'dispatch))
  
  