anchor.diff:    unary_op
     module_decl
     class_decl
  -  def_exprs
  -  def_expr
  +  functions
  +  function
     body
     args
     args_tail
  
positive.code: unary_op -> '~'   : '$1'.
  
  %% Module declarations
  module_decl -> module module_name eol def_exprs 'end' : 
    #module{
      line  = ?line('$1'), 
      name  = element(3, '$2'), 
  
negative.code:     block = '$3'#args.block,
      body  = '$5'
    }.
  function -> expr : '$1'.
  
  %% Valid method names
  function_name -> function_identifier : ?identifier_name('$1').
  function_name -> '[' ']' : '[]'.
  function_name -> '[' ']' '=' : '[]='.
  
  %% Function identifiers
  function_identifier -> identifier : '$1'.
  