human
I wrote the below code

    def wrapper(self, other):
        if isinstance(other, Series):
            if (not isinstance(other, SparseSeries)):
                other = other.to_sparse(fill_value=self.fill_value)
            return _sparse_series_op(self, other, op, name)
        elif isinstance(other, DataFrame):
            return NotImplemented
        elif is_scalar(other):
            with np.errstate(all='ignore'):
                new_values = op(self.values, other)
            return self._constructor(new_values, index=self.index, name=self.name)
        else:
            raise TypeError(('operation    with    %s    not    supported' % type(other)))
    wrapper.__name__ = name
    if name.startswith('__'):
        name = name[2:(-2)]
    return wrapper

What's a good function header?
 ... Here's a good function header?
assistant
#Here's a good function header.

def _arith_method(op, name, str_rep=None, default_axis=None, fill_zeros=None, **eval_kwargs):