anchor.diff:                   :body (first result) :status (second result) :headers (third result)
                    :url request-url :method method :parameters parameters :sent-headers headers)))))
   
  -(defun callback-request-token (callback)
  +(defun request-token (callback)
     "Query for a request token using the specified callback.
   Returns an ALIST containing :OAUTH-TOKEN, :OAUTH-TOKEN-SECRET and 
   :OAUTH-CALLBACK-CONFIRMED, the first two being strings and the last a boolean.
  
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: (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 (to-keyword (first pair)))
                       (val (second pair))
                       (parser (cdr (assoc key spec))))
                  (cons key (if parser (funcall parser val) val))))
            (split-sequence #\& body)))
  