anchor.diff:  (defun parse-boolean (value)
     (when (string= value "true") T))
   
  +(defun to-keyword (string)
  +  (intern (cl-ppcre:regex-replace-all "_" (string-upcase string) "-") "KEYWORD"))
  +
   (defun oauth-response->alist (body &optional spec)
     "Turn an oauth-response into an ALIST."
     (mapcar #'(lambda (assignment)
                 (let* ((pair (split-sequence #\= assignment))
  -                     (key (intern (cl-ppcre:regex-replace-all "_" (string-upcase (car pair)) "-")))
  -                     (val (cdr pair))
  +                     (key (to-keyword (first pair)))
  +                     (val (second pair))
                        (parser (cdr (assoc key spec))))
                   (cons key (if parser (funcall parser val) val))))
             (split-sequence #\& body)))
  
positive.code: According to spec https://dev.twitter.com/docs/auth/implementing-sign-twitter"
    (oauth-response->alist
     (signed-request *oauth/request-token* :oauth-parameters `(("oauth_callback" . ,callback)))
     `((:OAUTH-CALLBACK-CONFIRMED . #'parse-boolean))))
  
  (defun pin-request-token ()
    "Query for a PIN based request token.
  Seee CALLBACK-REQUEST-TOKEN.
  
  According to spec https://dev.twitter.com/docs/auth/pin-based-authorization"
    (callback-request-token "oob"))
  
negative.code: (defvar *oauth/authenticate* "https://api.twitter.com/oauth/authenticate")
  (defvar *oauth/authorize* "https://api.twitter.com/oauth/authorize")
  (defvar *oauth/access-token* "https://api.twitter.com/oauth/access_token")
  (defvar *server-port* 8989)
  
  (define-condition oauth-error (error) ())
  
  