anchor.diff:  (read-from-string "#`(list ,a\\1 ,a0)")
   (read-from-string "#`(list ,A\\1 ,a0)")
   (read-from-string "#`(list ,a1\\1 ,a0)")
  +
  +(read-from-string "#`(print (list ,a0 ,a1 ,(progn #`(foo ,a!4 #`(baz a!1)) #`(bar ,a2))))")
  +
  +(read-from-string "#`(list ,a0 a!d)")
  +(read-from-string "#`(list ,a01)")
  
positive.code: (read-from-string "#`(print (list ,a0 a1 a3))")
  (read-from-string "#`(print (list ,a0 ,a1 ,(progn `(foo ,a0) `(bar ,a2))))")
  (read-from-string "#`(print (list ,a0 ,a1 ,(progn #`(foo ,a4) `(bar ,a2))))")
  (read-from-string "#`(print (list ,a0 ,a1 ,(progn #`(foo ,a4) #`(bar ,a2))))")
  (read-from-string "#`(print (list ,abc ,a1 ,a3))")
  (let ((*read-base* 4))
    (read-from-string "#`(print (list ,a10 (bc ,a2) ,a1 ,a0 a4))"))
  
negative.code:       `(lambda ,(loop :for i :from 0 :upto (1- n)
                        :collect (intern-anaphora i))
           ,(funcall bqreader-fn strm nil))
        (with-anaphora-picking anaphoras shared-anaphoras (#\a #\A)
          (let ((expr (funcall bqreader-fn strm nil)))
            `(lambda ,(sort (union anaphoras shared-anaphoras) #'<=
                            :key (lambda (a) (parse-integer (remove-if-not #'digit-char-p (symbol-name a)))))
               ,expr))))))
  
  (set-dispatch-macro-character #\# #\` #'|#`-reader|)
  