docs: def schema(self):
      """Retrieves the schema of the table.
  
      Returns:
        A Schema object containing a list of schema fields and associated metadata.
      Raises
        Exception if the request could not be executed or the response was malformed.
      """
      if not self._schema:
        try:
          self._load_info()
          self._schema = _schema.Schema(self._info['schema']['fields'])
        except KeyError:
          raise Exception('Unexpected table response: missing schema')
      return self._schema