anchor.diff:       collect (caar result) into keys
        collect (cadr result) into values
        finally (respond (list t (mapcar (fun (with-user-package
  -                                             (funcall (compile-view-function _)
  +                                             (funcall (ensure-view-function _)
                                                         keys values nil)))
                                         fun-strings)))))
   
  
positive.code: (defun add-fun (string)
    "Compiles and adds a function whose source code is in STRING to the current list of
  active CouchDB functions."
    (push (with-user-package (compile-view-function string)) *functions*)
    (respond t))
  
  (defun reset (&optional config)
    "Resets the view server. Any caches should be emptied at this point, and any stored
  map functions should be cleared out."
    (declare (ignore config))
    (setf *functions* nil)
    (respond t))
  
  (defun call-map-function (function doc &aux *map-results*)
  
negative.code:       (log-message "View function did not compile cleanly: ~A" (remove #\Newline string)))
      (if failurep
          (error 'function-compilation-error :string string)
          (setf (gethash string *function-cache*) function))))
  
  (defvar *map-results*)
  (defun emit (key value)
  