<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def combine_first(self, other):
 """Combine two Datasets, default to data_vars of self. The new coordinates follow the normal broadcasting and alignment rules of ``join='outer'``. Vacant cells in the expanded coordinates are filled with np.nan. Parameters other : DataArray Used to fill all matching missing values in this array. Returns ------- DataArray """

        out = ops.fillna(self, other, join="outer", dataset_join="outer")
        return out