anchor.diff:    (let ((return-value (create-container)))
       (read-char input)
       (loop
  -       (when (eql (peek-char-skipping-whitespace input)
  -                  #\})
  -         (return))
  -       (skip-whitespace input)
  -       (setf return-value
  -             (add-attribute return-value
  -                            (let ((key-string (parse-string input)))
  -                              (prog1
  -                                  (or (funcall *parse-object-key-fn* key-string)
  -                                      (error 'cannot-convert-key :key-string key-string))
  -                                (skip-whitespace input)
  -                                (unless (eql #\: (read-char input))
  -                                  (error 'expected-colon :key-string key-string))
  -                                (skip-whitespace input)))
  -                            (parse input)))
  -       (ecase (peek-char-skipping-whitespace input)
  -         (#\, (read-char input))
  -         (#\} nil)))
  +      (when (eql (peek-char-skipping-whitespace input)
  +                 #\})
  +        (return))
  +      (skip-whitespace input)
  +      (setf return-value
  +            (add-attribute return-value
  +                           (let ((key-string (parse-string input)))
  +                             (prog1
  +                                 (or (funcall *parse-object-key-fn* key-string)
  +                                     (error 'cannot-convert-key :key-string key-string))
  +                               (skip-whitespace input)
  +                               (unless (eql #\: (read-char input))
  +                                 (error 'expected-colon :key-string key-string))
  +                               (skip-whitespace input)))
  +                           (parse input)))
  +      (ecase (peek-char-skipping-whitespace input)
  +        (#\, (read-char input))
  +        (#\} nil)))
       (read-char input)
       return-value))
   
  
positive.code:   "Parse JSON array from input, calling ADD-ELEMENT-FUNCTION for each array element parsed."
    (read-char input)
    (loop
       (when (eql (peek-char-skipping-whitespace input)
                  #\])
         (return))
       (funcall add-element-function (parse input))
       (ecase (peek-char-skipping-whitespace input)
         (#\, (read-char input))
         (#\] nil)))
    (read-char input))
  
  (defun parse-array (input)
  
negative.code:          (parse-string input))
          ((#\- #\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9)
           (parse-number input))
          (#\{
           (parse-object input))
          (#\[
  