anchor.diff:  (defun decode-dictionary (stream)
     (must-read-char stream #\d)
     (loop with list
  -     until (maybe-read-char stream #\e)
  -     do (let* ((key (decode-string stream))
  -               (value (decode stream :binary (binary-bdictionary-key-p key))))
  -          (push value list)
  -          (push key list))
  -     finally (return (make-bdictionary list))))
  +        until (maybe-read-char stream #\e)
  +        do (let* ((key (decode-string stream))
  +                  (value (decode stream :binary (binary-bdictionary-key-p key))))
  +             (push value list)
  +             (push key list))
  +        finally (return (make-bdictionary list))))
   
  
positive.code:     (ccase c
        (#\i (decode-integer stream))
        ((#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9)
         (if binary
             (decode-binary-string stream)
             (decode-string stream)))
        (#\l (decode-list stream))
        (#\d (decode-dictionary stream)))))
  
  
negative.code: (defun decode-list (stream)
    (must-read-char stream #\l)
    (loop with list
          until (maybe-read-char stream #\e)
          do (push (decode stream) list)
          finally (return (nreverse list))))
  
  (defun decode-binary-string (stream)
    (let* ((length (parse-integer (read-integers stream)))
  