docs: def merge(self, other, inplace=None, overwrite_vars=frozenset(),
                compat='no_conflicts', join='outer'):
          """Merge the arrays of two datasets into a single dataset.
  
          This method generally not allow for overriding data, with the exception
          of attributes, which are ignored on the second dataset. Variables with
          the same name are checked for conflicts via the equals or identical
          methods.
  
          Parameters
          ----------
          other : Dataset or castable to Dataset
              Dataset or variables to merge with this dataset.
          inplace : bool, optional
              If True, merge the other dataset into this dataset in-place.
              Otherwise, return a new dataset object.
          overwrite_vars : str or sequence, optional
              If provided, update variables of these name(s) without checking for
              conflicts in this dataset.
          compat : {'broadcast_equals', 'equals', 'identical',
                    'no_conflicts'}, optional
              String indicating how to compare variables of the same name for
              potential conflicts:
              - 'broadcast_equals': all values must be equal when variables are
                broadcast against each other to ensure common dimensions.
              - 'equals': all values and dimensions must be the same.
              - 'identical': all values, dimensions and attributes must be the
                same.
              - 'no_conflicts': only values which are not null in both datasets
                must be equal. The returned dataset then contains the combination
                of all non-null values.
          join : {'outer', 'inner', 'left', 'right', 'exact'}, optional
              Method for joining ``self`` and ``other`` along shared dimensions:
  
              - 'outer': use the union of the indexes
              - 'inner': use the intersection of the indexes
              - 'left': use indexes from ``self``
              - 'right': use indexes from ``other``
              - 'exact': error instead of aligning non-equal indexes
  
          Returns
          -------
          merged : Dataset
              Merged dataset.
  
          Raises
          ------
          MergeError
              If any variables conflict (see ``compat``).
          """
          inplace = _check_inplace(inplace)
          variables, coord_names, dims = dataset_merge_method(
              self, other, overwrite_vars=overwrite_vars, compat=compat,
              join=join)
  
          return self._replace_vars_and_dims(variables, coord_names, dims,
                                             inplace=inplace)