docs: def where_method(self, cond, other=dtypes.NA):
      """Return elements from `self` or `other` depending on `cond`.
  
      Parameters
      ----------
      cond : DataArray or Dataset with boolean dtype
          Locations at which to preserve this objects values.
      other : scalar, DataArray or Dataset, optional
          Value to use for locations in this object where ``cond`` is False.
          By default, inserts missing values.
  
      Returns
      -------
      Same type as caller.
      """
      from .computation import apply_ufunc
      # alignment for three arguments is complicated, so don't support it yet
      join = 'inner' if other is dtypes.NA else 'exact'
      return apply_ufunc(duck_array_ops.where_method,
                         self, cond, other,
                         join=join,
                         dataset_join=join,
                         dask='allowed',
                         keep_attrs=True)