anchor.diff:           (rplaca c (read-token istr)))
           ((= ct rt-lparen)
            (consume-char istr)
  -         (rplaca c (read-list istr)))
  +         (rplaca c (read-list istr c)))
           (true
            (error "don't know how to handle character ~D (~D)"
                   (char-code ch) ct))))
  
positive.code:     (consume-char istr)
      (consume-whitespace istr)))
  
  (define (read-list istr)
    (consume-whitespace istr)
    (define ch (peek-char istr 0 false))
    (cond ((eq? #\) ch)
  
negative.code:               (not (eq? rt-constituent
                          (rt-char-type (peek-char istr 1 false)))))
           (consume-char istr)
           (until (read-maybe istr c))
           (car c))
          (true
           (until (read-maybe istr c))
           (define h (car c))
           (define t (read-list istr c))
           (cons h t))))
  
  (define (read-maybe istr c)
  