anchor.diff:    (declare (type buffer buffer))
     (loop for value = (read-value buffer)
        collect value
  -     until (progn (skip-spaces buffer) (char= (fetch-char buffer) #\]))) ; we may fetch-char here, as the character is a , to be skipped if it is not a ]
  +     until (progn (skip-spaces buffer) (eql (fetch-char buffer) #\]))) ; we may fetch-char here, as the character is a , to be skipped if it is not a ]
     )
   
   (defun read-number (buffer)
  
positive.code:   (loop 
       do (progn (skip-value buffer)
  	       (skip-spaces buffer))
       until (char= (fetch-char buffer) #\])) ; we may fetch-char here, as the character is a , to be skipped if it is not a ]
    )
  
  (defun parse-string (buffer)
  
negative.code:   (declare (type buffer buffer)
  	   (type (or cons nil) tree))
    (loop until (progn (skip-spaces buffer)
  		     (eql (fetch-char buffer) #\})) ; we may fetch-char here, as the character is a #\, to be skipped if it is not a #\}
       append (multiple-value-bind (found-p key)
  		(read-partial-key buffer tree)
  	      (if found-p
  