anchor.diff:    raise TypeError ('no such interface type: %s' % identifier)
   def ATN (typename):     # assert a typename
     yy.resolve_type (typename) # raises exception
  -def ANOSIG (issignal, identifier): # assert non-signal decl
  +def ANOTSIG (issignal): # assert no signal declarations
  +  if issignal:
  +      raise TypeError ("invalid keyword 'signal', use Events instead")
  +def AFIELDSIG (issignal, identifier): # assert non-signal decl
     if issignal:
       raise TypeError ('non-method invalidly declared as \'signal\': %s' % identifier)
   def TSTREAM (typename):
  
positive.code: 
  rule field_stream_method_signal_decl:
                                                  {{ signal = false; pure = 1; fargs = []; daux = () }}
          [ 'signal'                              {{ signal = true; coll = 'void' }}
            ]
          ( 'void'                                {{ dtname = 'void' }}
          | typename                              {{ dtname = typename }}
  
negative.code:               [ method_args                     {{ fargs = method_args }}
                ] '\)'                            # [ '=' auxinit {{ daux = auxinit }} ]
          ) [ '=' 'concrete'                      {{ pure = 0; ANP (kind == 'func', dident) }}
            ] ';'                                 {{ if kind == 'field': AFIELDSIG (signal, dident) }}
                                                  {{ if kind == 'field' and TSTREAM (dtname): kind = 'stream' }}
                                                  {{ flags = { 'void' : kind in ('func', 'signal'), 'stream' : kind == 'stream' } }}
                                                  {{ dtype = yy.link_type (dtname, dident, **flags) }}
  