docs: def to_dataset(self, dim=None, name=None):
          """Convert a DataArray to a Dataset.
  
          Parameters
          ----------
          dim : str, optional
              Name of the dimension on this array along which to split this array
              into separate variables. If not provided, this array is converted
              into a Dataset of one variable.
          name : str, optional
              Name to substitute for this array's name. Only valid if ``dim`` is
              not provided.
  
          Returns
          -------
          dataset : Dataset
          """
          if dim is not None and dim not in self.dims:
              warnings.warn('the order of the arguments on DataArray.to_dataset '
                            'has changed; you now need to supply ``name`` as '
                            'a keyword argument',
                            FutureWarning, stacklevel=2)
              name = dim
              dim = None
  
          if dim is not None:
              if name is not None:
                  raise TypeError('cannot supply both dim and name arguments')
              return self._to_dataset_split(dim)
          else:
              return self._to_dataset_whole(name)