anchor.diff:      %LV: for reasons stated above, it could but it's preferable not to.
       %MS: I am sorry, which ones are you referring to?
       */
  -    :  cconstructor                                       /* Constant */
  +    : cconstructor                                       /* Constant */
       | cconstructor LPAR cterms RPAR                      /* Construction */
       | cliteral                                           /* Literal construction */
       | cvariable                                          /* Variable */
  
positive.code: 
          %MS: but ∀ x . S[x] :: x  
                   S[#X] → #X;
          would be a perfectly fine rule, no?  
  */
  
  cterm
  
negative.code:              data SSort3 ( S({Var:String}); data Var ( x );  // Variable to any string    
      %MS: I probably miss something, but in ckv we have also cases where we there is no ':'.
           How would those get a sort? Or does this not occur?
      %LV: {#} means match, or contract using the entire map. It's not the same as the sort.
      */
      : cconstructor COLON csort                          /* Association map sort */
      ;
      
  // -- Term
  