docs: def Remove(self, row):
          """Removes a row from the table.
  
      Args:
        row: int, the row number to delete. Must be >= 1, as the header
          cannot be removed.
  
      Raises:
        TableError: Attempt to remove nonexistent or header row.
      """
          if row == 0 or row > self.size:
              raise TableError("Attempt to remove header row")
          new_table = []
          # pylint: disable=E1103
          for t_row in self._table:
              if t_row.row != row:
                  new_table.append(t_row)
                  if t_row.row > row:
                      t_row.row -= 1
          self._table = new_table