docs: def add_names(self, tax_id, names, execute=True):
          """Associate one or more names with ``tax_id``.
  
          ``names`` is a list of one or more dicts, with keys
          corresponding to the signature of ``self.add_name()``
          (excluding ``execute``).
  
          """
  
          primary_names = [n['tax_name'] for n in names if n.get('is_primary')]
          if len(primary_names) > 1:
              raise ValueError(
                  '`is_primary` may be True for no more than one name in `names`')
  
          statements = []
  
          for namevals in names:
              if 'tax_id' in namevals:
                  del namevals['tax_id']
              statements.extend(
                  self.add_name(tax_id=tax_id, execute=False, **namevals))
  
          if execute:
              self.execute(statements)
          else:
              return statements