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:    | string_literal
     | 'self'
     | reference
     | (entity '.' name)
     | (entity expression?)
     | 'bind' entity ((bind_arg (',' bind_arg)*)?)
     | type_spec '$' (field (',' field)*)*
     | type_spec '$' ((expression ':')? (expression (',' expression)*)?)?
     | type_spec '$' name ((actual_parm (',' actual_parm)*)?)?
  
negative.code: own_var
     : 'own' decl
     | 'own' idn ':' type_spec ':=' expression
     | 'own' decl (',' decl)* ':=' call ('@' primaries)?
     ;
  
  statement
     : decl
     | idn ':' type_spec ':=' expression
     | decl (',' decl)* ':=' call ('@' primaries)?
     | idn (',' idn)* ':=' call ('@' primaries)?
     | idn (',' idn)* ':=' expression (',' expression)*
     | primaries '.' name ':=' expression
     | primaries expression? ':=' expression
     | call ('@' primaries)?
     | 'fork' call
     | 'seize' expression 'do' body 'end'
     | 'pause'
  