anchor.diff:     ;
   
   procedure
  -   : idn '=' 'proc' parms? args returnz? signals? where? routine body 'end' idn
  +   : idn '=' 'proc' parms? args returnz? signals? where? routine_body 'end' idn
      ;
   
   iterator
  -   : idn '=' 'iter' parms? args yields? signals? where? routine body 'end' idn
  +   : idn '=' 'iter' parms? args yields? signals? where? routine_body 'end' idn
      ;
   
   creator
  -   : idn '=' 'creator' args returnz? signals? routine body 'end' idn
  +   : idn '=' 'creator' args returnz? signals? routine_body 'end' idn
      ;
   
   handler
  -   : idn '=' 'handler' args returnz? signals? routine body 'end' idn
  +   : idn '=' 'handler' args returnz? signals? routine_body 'end' idn
      ;
   
   routine_body
  
positive.code:    | expression 'cor' expression
     ;
  
  primary
     : entity
     | call
     | (primary '.' name)
     | (primary expression?)
     ;
  
  call
     : primary ((expression (',' expression)*)?)
     ;
  
  entity
  
negative.code:    ;
  
  opbinding
     : name (',' name)* ':' primaries
     ;
  
  expression
     : primaries
     | call '@' primaries
     | '(' expression ')'
     | '~' expression
     | '−' expression
     | expression '**' expression
  