anchor.diff:  map functions should be cleared out."
     (when config
       #+nil(log-message "Received configuration: ~S" config))
  -  (when (boundp *functions*) ;I like keeping the toplevel *functions* unbound...
  +  (when (boundp *functions*)
       (setf *functions* nil))
     (clrhash *function-cache*)
     (respond t))
  
positive.code: 
  (defun respond (response)
    (handler-case
        (json:encode response)
      (error () (log-message "Error encoding response: ~A." response)))
    (terpri)
    (finish-output))
  
negative.code: (defpackage #:chillax-server
    (:use :cl)
    (:export :mkhash :emit :hashget :log-message :validation-failure :forbidden
             :*user-package* :*encode-json* :*decode-json*))
  (defpackage #:chillax-server-user
    (:use :cl :chillax-server))
  (in-package :chillax-server)
  
  ;;;
  ;;; Configuration
  ;;;
  (defparameter *user-package* (find-package :chillax-server-user)
    "Package that user view functions will be compiled and executed in.")
  (defparameter *encode-json* #'json:encode
    "Function to use when encoding Lisp->JSON. Must return a string.")
  (defparameter *decode-json* #'json:parse
    "Function to use to decode JSON->Lisp. Must accept a string.")
  
  ;;;
  ;;; Utils
  ;;;
  (defmacro with-user-package (&body body)
    "Evaluates BODY in the :chillax-server-user package."
    `(let ((*package* *user-package*))
       ,@body))
  
  (defmacro fun (&body body)
  