docs: def set_coords(self, names, inplace=None):
          """Given names of one or more variables, set them as coordinates
  
          Parameters
          ----------
          names : str or list of str
              Name(s) of variables in this dataset to convert into coordinates.
          inplace : bool, optional
              If True, modify this dataset inplace. Otherwise, create a new
              object.
  
          Returns
          -------
          Dataset
  
          See also
          --------
          Dataset.swap_dims
          """
          # TODO: allow inserting new coordinates with this method, like
          # DataFrame.set_index?
          # nb. check in self._variables, not self.data_vars to insure that the
          # operation is idempotent
          inplace = _check_inplace(inplace)
          if isinstance(names, str):
              names = [names]
          self._assert_all_in_dataset(names)
          obj = self if inplace else self.copy()
          obj._coord_names.update(names)
          return obj