anchor.diff:  ;;;
   ;;; There might be simpler schemes, but this works well enough...
   
  -(define-sw-parser-rule :SYMBOL-NAME ()
  +(define-sw-parser-rule :NAME ()
     (:anyof
      ((:tuple "reduce")       "reduce")
      ((:tuple "expand")       "expand")
  
positive.code: ;;;  (foo x y z)
  ;;; where the names x y z would be viewed as lisp variables.
  ;;;
  ;;; But if we use :SYMBOL-NAME instead, e.g.:
  ;;;
  ;;; (define-sw-parser-rule :FOO ()
  ;;;   (:tuple "foo" (1 :SYMBOL-NAME) (2 :SYMBOL-NAME) (3 :SYMBOL-NAME))
  ;;;   (foo 1 2 3)
  ;;;
  ;;; then after substitutions we'd get lisp forms such as
  
negative.code:   ;; "S"  "A.S"  "{S, A.X, Y}" etc.
    ;; "{S}" is same as "S"
    (:anyof 
     ((:tuple (1 :QUALIFIABLE-SORT-NAME))                          (list 1))
     ((:tuple "{" (2 (:REPEAT+ :QUALIFIABLE-SORT-NAME ",")) "}")   2)))
  
  ;;; ------------------------------------------------------------------------
  ;;;   SORT-REF
  