anchor.diff:  
   (define-sw-parser-rule :AUX-MATCH ()
     (:anyof
  -   ((:tuple (1 :NON-MATCH-BRANCH) "|" (2 :AUX-MATCH)) (cons 1 2))
  -   ((:tuple (1 :BRANCH))                              (cons 1 nil))
  +   ((:tuple (1 :NON-BRANCH-BRANCH) "|" (2 :AUX-MATCH)) (cons 1 2))
  +   ((:tuple (1 :BRANCH))                               (cons 1 nil))
      ))
  -
  -(define-sw-parser-rule :NON-MATCH-BRANCH ()
  -  (:tuple (1 :PATTERN) "->" (2 :NON-MATCH-EXPRESSION))
  -  (make-branch 1 2 ':left-lc ':right-lc))
   
   (define-sw-parser-rule :BRANCH ()
     (:tuple (1 :PATTERN) "->" (2 :EXPRESSION))
  +  (make-branch 1 2 ':left-lc ':right-lc))
  +
  +(define-sw-parser-rule :NON-BRANCH-BRANCH () ; as above, but not ending with "| .. -> .."
  +  ;; i.e., a branch that doesn't end in a branch
  +  (:tuple (1 :PATTERN) "->" (2 :NON-BRANCH-EXPRESSION))
     (make-branch 1 2 ':left-lc ':right-lc))
   
   ;;; ========================================================================
  
positive.code:   (:tuple "if" (1 :EXPRESSION) "then" (2 :EXPRESSION) "else" (3 :EXPRESSION))
    (make-if-expression 1 2 3 ':left-lc ':right-lc)  :documentation "If-Then-Else")
  
  (define-sw-parser-rule :NON-MATCH-IF-EXPRESSION ()
    (:tuple "if" (1 :EXPRESSION) "then" (2 :EXPRESSION) "else" (3 :NON-MATCH-EXPRESSION))
    (make-if-expression 1 2 3 ':left-lc ':right-lc)  :documentation "If-Then-Else")
  
  ;;; ------------------------------------------------------------------------
  
negative.code:    )
    1)
  
  (define-sw-parser-rule :NON-BRANCH-EXPRESSION ()
    (:anyof
     (1 :NON-BRANCH-LET-EXPRESSION  :documentation "Let not ending in case or lambda")
     (1 :NON-BRANCH-IF-EXPRESSION   :documentation "If-then-else not ending in case or lambda")
     (1 :NON-BRANCH-QUANTIFICATION  :documentation "Quantification (fa/ex) not ending in case or lambda")
     (1 :TIGHT-EXPRESSION           :documentation "Tight expression -- suitable for annotation")
     )
    1)
  