anchor.diff:    (declare (type buffer buffer)
   	   (type (or cons nil) tree))
     (loop 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 #\}
  +		     (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
  
positive.code:   "Returns a subsequence of stream, reading everything before a character belonging to chars is found.  The character which was found is not read from the buffer"
    (declare (type buffer buffer))
    (mark-buffer buffer)
    (loop until (find (current-char buffer) chars :test #'char=)
       do (next-char buffer))
    (subseq-buffer-mark buffer))
  
  
negative.code:  Returns two values, being the new tree and whether or not this is an end-point."
    (declare (type (or cons nil) tree)
  	   (type character char))
    (let ((solution (rest (find char tree :key #'first :test #'eql))))
      (when solution
        (values (second solution) (first solution)))))
  
  