anchor.diff:    (: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))
  +(define-sw-parser-rule :NON-BRANCH-IF-EXPRESSION () ; as above, but not ending with "| .. -> .."
  +  (:tuple "if" (1 :EXPRESSION) "then" (2 :EXPRESSION) "else" (3 :NON-BRANCH-EXPRESSION))
     (make-if-expression 1 2 3 ':left-lc ':right-lc)  :documentation "If-Then-Else")
   
   ;;; ------------------------------------------------------------------------
  
positive.code:    ((: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 :RECLESS-LET-BINDING ()
  
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)
  