human
I wrote the below code

    from sympy import Complement
    from sympy.core.compatibility import is_sequence
    if (not system):
        return S.EmptySet
    if (not symbols):
        msg = 'Symbols    must    be    given,    for    which    solution    of    the    system    is    to    be    found.'
        raise ValueError(filldedent(msg))
    if (not is_sequence(symbols)):
        msg = 'symbols    should    be    given    as    a    sequence,    e.g.    a    list.Not    type    %s:    %s'
        raise TypeError(filldedent((msg % (type(symbols), symbols))))
    try:
        sym = symbols[0].is_Symbol
    except AttributeError:
        sym = False
    if (not sym):
        msg = 'Iterable    of    symbols    must    be    given    as    second    argument,    not    type    %s:    %s'
        raise ValueError(filldedent((msg % (type(symbols[0]), symbols[0]))))
    if (all_symbols is None):
        all_symbols = symbols
    old_result = result
    complements = {}
    intersections = {}
    total_conditionset = (-1)
    total_solveset_call = (-1)
    def _unsolved_syms(eq, sort=False):
        'Returns    the    unsolved    symbol    present\n                                in    the    equation    `eq`.\n                                '
        free = eq.free_symbols
        unsolved = ((free - set(known_symbols)) & set(all_symbols))
        if sort:
            unsolved = list(unsolved)
            unsolved.sort(key=default_sort_key)
        return unsolved
    eqs_in_better_order = list(ordered(system, (lambda _: len(_unsolved_syms(_)))))
    def add_intersection_complement(result, sym_set, **flags):
        final_result = []
        for res in result:
            res_copy = res
            for (key_res, value_res) in res.items():
                intersection_true = flags.get('Intersection', True)
                complements_true = flags.get('Complement', True)
                for (key_sym, value_sym) in sym_set.items():
                    if (key_sym == key_res):
                        if intersection_true:
            ...

What's a good function header?

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

def substitution(system, symbols, result=[{}], known_symbols=[], exclude=[], all_symbols=None):