anchor.diff:      (start-session))
     (case (request-method*)
       (:get
  -     (with-yaclml-output-to-string
  -       (<:html
  -        (<:head
  -         (<:title "Login Page")
  -         (<:script :src "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" :type "text/javascript"))
  -        (<:body
  -         (when-let ((account-name (session-value 'account-name)))
  -           (push (format nil "Already logged in as ~A." account-name)
  -                 (session-value 'errors)))
  -         (render-error-messages)
  -         (render-login-component))
  -        (<:a :href "/signup" "Create account."))))
  +     (render-page "Log in"
  +                  (lambda ()
  +                    (when-let ((account-name (session-value 'account-name)))
  +                      (push (format nil "Already logged in as ~A." account-name)
  +                            (session-value 'errors)))
  +                    (render-error-messages)
  +                    (render-login-component)
  +                    (<:a :href "/signup" "Create account."))))
       (:post
        (if-let ((account (validate-credentials account-name password)))
          (progn
  
positive.code:          nil
           #+nil(list-user-character-names (session-value 'account-name)))))
  
  ;;;
  ;;; Handlers
  ;;;
  
  ;;; Main page
  (define-easy-handler (home :uri "/") ()
    (with-yaclml-output-to-string
      (<:html
       (<:head
        (<:title "Sykosomatic.org Dev Site")
        (<:script  :type "text/javascript" :src "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"))
       (<:body
        (<:p (<:ah "Sykosomatic is currently in development. ")
             (<:a :href "/login" (<:ah "Log in.")))
        (<:p (<:ah "Already logged in? What are you doing here?! Go ")
             (<:a :href "/play" (<:ah "play!")))))))
  
  (define-easy-handler (play :uri "/play") (char)
    (declare (ignore char))
    (ensure-logged-in)
    (with-yaclml-output-to-string
      (<:html
       (<:head
        (<:title "Hello!")
        (<:link :rel "stylesheet" :type "text/css" :href "res/styles.css")
        (<:script  :type "text/javascript" :src "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js")
        ;; When you feel like figuring out why optional loading fails, take the following two lines out...
        (<:script :type "text/javascript" :src "res/swfobject.js")
        (<:script :type "text/javascript" :src "res/web_socket.js")
        (<:script :type "text/javascript" :src "res/ajaxlib.js"))
       (<:body
        (render-chat-box)
        (render-user-input-area)
        (render-logout-button)))))
  
  ;;; Login/logout
  (define-easy-handler (login :uri "/login") (account-name password)
  
negative.code:              (appendf (session-value 'errors) errors)
               (redirect "/signup")))))
      (:get
       (render-page "Sign up"
                    (lambda ()
                      (render-error-messages)
                      (render-signup-component))))))
  
  ;;; Characters
  (define-easy-handler (newchar :uri "/newchar") (name description)
  