code: def v_type_base(ctx, stmt, no_error_report=False):
      
      # Find the identity
      name = stmt.arg
      stmt.i_identity = None
      if name.find(":") == -1:
          prefix = None
      else:
          [prefix, name] = name.split(':', 1)
      if prefix is None or stmt.i_module.i_prefix == prefix:
          # check local identities
          pmodule = stmt.i_module
      else:
          # this is a prefixed name, check the imported modules
          pmodule = prefix_to_module(stmt.i_module, prefix, stmt.pos, ctx.errors)
          if pmodule is None:
              return
      if name in pmodule.i_identities:
          i = pmodule.i_identities[name]
          if prefix is None and not is_submodule_included(stmt, i):
              pass
          else:
              stmt.i_identity = i
              v_type_identity(ctx, stmt.i_identity)
      if stmt.i_identity is None and no_error_report == False:
          err_add(ctx.errors, stmt.pos,
                  'IDENTITY_NOT_FOUND', (name, pmodule.arg))
docs: verify that the referenced identity exists.