anchor.diff:     ((:tuple "let" (1 :REC-LET-BINDING-SEQUENCE) "in" (2 :EXPRESSION)) (make-rec-let-binding-term 1 2 ':left-lc ':right-lc) :documentation "RecLet Binding")
      ))
   
  -(define-sw-parser-rule :NON-MATCH-LET-EXPRESSION ()
  -  (:anyof
  -   ((:tuple "let" (1 :RECLESS-LET-BINDING)      "in" (2 :NON-MATCH-EXPRESSION)) (make-let-binding-term     1 2 ':left-lc ':right-lc) :documentation "Let Binding")
  -   ((:tuple "let" (1 :REC-LET-BINDING-SEQUENCE) "in" (2 :NON-MATCH-EXPRESSION)) (make-rec-let-binding-term 1 2 ':left-lc ':right-lc) :documentation "RecLet Binding")
  +(define-sw-parser-rule :NON-BRANCH-LET-EXPRESSION () ; as above, but not ending with "| .. -> .."
  +  (:anyof
  +   ((:tuple "let" (1 :RECLESS-LET-BINDING)      "in" (2 :NON-BRANCH-EXPRESSION)) (make-let-binding-term     1 2 ':left-lc ':right-lc) :documentation "Let Binding")
  +   ((:tuple "let" (1 :REC-LET-BINDING-SEQUENCE) "in" (2 :NON-BRANCH-EXPRESSION)) (make-rec-let-binding-term 1 2 ':left-lc ':right-lc) :documentation "RecLet Binding")
      ))
   
   (define-sw-parser-rule :RECLESS-LET-BINDING ()
  
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: 
  (define-sw-parser-rule :AUX-MATCH ()
    (:anyof
     ((:tuple (1 :NON-BRANCH-BRANCH) "|" (2 :AUX-MATCH)) (cons 1 2))
     ((:tuple (1 :BRANCH))                               (cons 1 nil))
     ))
  
  (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))
  
  ;;; ========================================================================
  