anchor.diff:                       (t body))))
         (ast `(let (,@(mapcar (lambda (x) (list x '(quote nil))) values)
                     ,@(mapcar (lambda (x) (list x '(quote nil))) suppliedp)
  +                    (,aok (quote ,(if allow-other-keys t nil)))
                       (,itr ,(etypecase rest
                                (special-variable
                                 `(call symbol-value (quote ,rest)))
                                (lexical-variable
                                 rest))))
                 (progn
  +                ,@(when (not allow-other-keys)
  +                    `((tagbody aok-tb
  +                         (aok-entry
  +                          (go aok-test aok-tb))
  +                         (aok-head
  +                          (progn
  +                            (if (call eql (call car ,itr) (quote :allow-other-keys))
  +                                (progn
  +                                  (setq ,aok (call car (call cdr ,itr)))
  +                                  (go aok-out aok-tb))
  +                                (quote nil))
  +                            (setq ,itr (call cddr ,itr))
  +                            (go aok-test aok-tb)))
  +                         (aok-test
  +                          (if ,itr
  +                              (go aok-head aok-tb)
  +                              (go aok-out aok-tb)))
  +                         (aok-out
  +                          (quote nil)))
  +                      (setq ,itr ,(etypecase rest
  +                                    (special-variable
  +                                     `(call symbol-value (quote ,rest)))
  +                                    (lexical-variable
  +                                     rest)))))
                   (tagbody tb
                      (entry
                       (go test-tag tb))
  
positive.code:                                                        (gensym))
                                               :definition-point *current-lambda*))
                              keys))
           (itr (make-instance 'lexical-variable
                               :name (gensym)
                               :definition-point *current-lambda*))
  
negative.code:                      (allow-other-keys
                        '(quote nil))
                       (t
                        `(if ,aok
                             (quote nil)
                             (if (call eql ,current-keyword (quote :allow-other-keys))
                                 (quote nil)
                                 (call error
                                       'sys.int::simple-program-error
                                       ':format-control '"Unknown &KEY argument ~S. Expected one of ~S."
                                       ':format-arguments (call list ,current-keyword (quote ,(mapcar 'caar keys)))))))))
               (create-key-let-body (key-args values suppliedp)
                 (cond (key-args
                        `(let ((,(second (first (first key-args)))
  