anchor.diff:  
   module_common_item
     : module_or_generate_item_declaration
  -  | interface_instantiation
  -  | program_instantiation
  +  | element_instantiation
     | assertion_item
     | bind_directive
     | continuous_assign
  
positive.code:   ;
  
  bind_instantiation
    : program_instantiation
    | module_instantiation
    | interface_instantiation
    | checker_instantiation
    ;
  
  program_instantiation
    : program_identifier (parameter_value_assignment)? hierarchical_instance (COMMA hierarchical_instance)* SEMI
    ;
  
  interface_instantiation
    : interface_identifier (parameter_value_assignment)? hierarchical_instance (COMMA hierarchical_instance)* SEMI
    ;
  
  module_instantiation
    : module_identifier (parameter_value_assignment)? hierarchical_instance (COMMA hierarchical_instance)* SEMI
    ;
  
  // Note: the LRM has an optional block for list_of_port_connections, but that's
  
negative.code:   ;
  
  udp_instantiation
    : udp_identifier drive_strength delay2? udp_instance (COMMA udp_instance)* SEMI
    | udp_identifier delay2 udp_instance (COMMA udp_instance)* SEMI
    ;
  
  udp_instance
  