anchor.diff:  	     (#\" (let ((str (make-string length)))
   		    (read-sequence str stream)
   		    str))
  -	     (#\} (parse-dict stream length))
  +	     (#\} (parse-dict-to-alist stream length))
   	     (#\] (parse-list stream length))
   	     (#\! (progn
  -		    (file-position stream (+ (file-position stream) length))
  +		    (file-position stream (+ (the fixnum (file-position stream)) length))
   		    (= length 4)))
   	     (#\~ nil)
   	     (#\, (let ((str (make-string length)))
  
positive.code:       (values key value)))
  
  
  
  (defun parse-dict (stream length)
    (declare (type fixnum length)
  
negative.code: 	do (dump-tnetstring-internal v s)))
     #\} stream))
  
  (defun dump-tnetstring-alist (alist stream)
    (declare (type stream stream)
  	   (type list alist))
    (output-netstring
     (with-output-to-string (s)
       (loop for pair in alist
  	do (dump-tnetstring-internal (car pair) s)
  	do (dump-tnetstring-internal (cdr pair) s)))
     #\} stream))
  
  (defun dump-tnetstring-list (l stream)
    (declare (type list l)
  	   (type stream stream))
    (if (and (consp (car l)) (keywordp (caar l)))
        (dump-tnetstring-alist l stream)
        (output-netstring
         (with-output-to-string (s)
  	 (loop for item in l do (dump-tnetstring-internal item s)))
         #\] stream)))
  
  (defun dump-tnetstring-symbol (s stream)
    (declare (type symbol s)
  