anchor.diff:    ;
   
   binary
  -  :  term (binop term)*
  +  :  term (binop binary)?
     ;
   
   term
  
positive.code: typedecl
    :  'type' ID type_params? (':' (base_type | type_expr))?
    ;
    
  oftype
    :  ':' type
    ;
  
negative.code:   ;
  
  named
    :  'where' term assign seq (',' term assign seq)*
    ;
  
  unop
  