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

    def bruteforcewrap(func, alphabet, length, method, start, databag):
        oldloglevel = context.log_level
        context.log_level = 'critical'
        res = bruteforce(func, alphabet, length, method=method, start=start, databag=databag)
        context.log_level = oldloglevel
        databag['result'] = res
    if (start == None):
        start = (1, 1)
    if (threads == None):
        try:
            threads = multiprocessing.cpu_count()
        except NotImplementedError:
            threads = 1
    h = log.waitfor('MBruteforcing')
    processes = ([None] * threads)
    shareddata = ([None] * threads)
    (i2, N2) = start
    totalchunks = (threads * N2)
    for i in range(threads):
        shareddata[i] = multiprocessing.Manager().dict()
        shareddata[i]['result'] = None
        shareddata[i]['current_item'] = ''
        shareddata[i]['items_done'] = 0
        shareddata[i]['items_total'] = 0
        chunkid = (((i2 - 1) + (i * N2)) + 1)
        processes[i] = multiprocessing.Process(target=bruteforcewrap, args=(func, alphabet, length, method, (chunkid, totalchunks), shareddata[i]))
        processes[i].start()
    done = False
    while (not done):
        current_item_list = ','.join([('"%s"' % x['current_item']) for x in shareddata if (x != None)])
        items_done = sum([x['items_done'] for x in shareddata if (x != None)])
        items_total = sum([x['items_total'] for x in shareddata if (x != None)])
        progress = (((100.0 * items_done) / items_total) if (items_total != 0) else 0.0)
        h.status(('Trying    %s    --    %0.3f%%' % (current_item_list, progress)))
        for i in range(threads):
            if (processes[i] and (processes[i].exitcode != None)):
                res = shareddata[i]['result']
                processes[i].join()
                processes[i] = None
                if (res != None):
                    for i in range(threads):
                        if (processes[i] != None):
                            processes[i].terminate()
                    ...

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

def mbruteforce(func, alphabet, length, method='upto', start=None, threads=None):