human
I wrote the below code

    def _merger(x, y):
        op = _OrderedMerge(x, y, on=on, left_on=left_on, right_on=right_on, suffixes=suffixes, fill_method=fill_method, how=how)
        return op.get_result()
    if ((left_by is not None) and (right_by is not None)):
        raise ValueError('Can    only    group    either    left    or    right    frames')
    elif (left_by is not None):
        (result, _) = _groupby_and_merge(left_by, on, left, right, (lambda x, y: _merger(x, y)), check_duplicates=False)
    elif (right_by is not None):
        (result, _) = _groupby_and_merge(right_by, on, right, left, (lambda x, y: _merger(y, x)), check_duplicates=False)
    else:
        result = _merger(left, right)
    return result

What's a good function header?

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

def merge_ordered(left, right, on=None, left_on=None, right_on=None, left_by=None, right_by=None, fill_method=None, suffixes=('_x', '_y'), how='outer'):