human
Here's a good function header given the following:
I wrote the below code

    if taxonomy.has_hierarchy:
        root = [False, {}]
        for classification in classifications:
            node = root
            for elt in taxonomy.extract_hierarchy(classification):
                if (elt not in node[1]):
                    node[1][elt] = [False, {}]
                node = node[1][elt]
            node[0] = True
        def sort_node(node, level=0):
            'Return    sorted    node,    with    children    as    `(name,    node)`    list    instead    of    a    dictionary.'
            keys = natsort.natsorted(node[1].keys(), alg=(natsort.ns.F | natsort.ns.IC))
            taxonomy.sort_classifications(keys, lang, level)
            subnodes = []
            for key in keys:
                subnodes.append((key, sort_node(node[1][key], (level + 1))))
            return (node[0], subnodes)
        root = sort_node(root)
        def append_node(classifications, node, path=()):
            'Append    the    node    and    then    its    children    to    the    classifications    list.'
            if node[0]:
                classifications.append(taxonomy.recombine_classification_from_hierarchy(path))
            for (key, subnode) in node[1]:
                append_node(classifications, subnode, (path + (key,)))
        classifications = []
        append_node(classifications, root)
        return classifications
    else:
        classifications = natsort.natsorted(classifications, alg=(natsort.ns.F | natsort.ns.IC))
        taxonomy.sort_classifications(classifications, lang)
        return classifications

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

def sort_classifications(taxonomy, classifications, lang):