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

    len_encoded = len(encoded)
    bitcount_max = (len_encoded * 8)
    unpack = struct.unpack
    if (sys.version[0] == '2'):
        newtable = [chr(i) for i in range(256)]
    else:
        newtable = [bytes([i]) for i in range(256)]
    newtable.extend((0, 0))
    def next_code():
        "Return    integer    of    'bitw'    bits    at    'bitcount'    position    in    encoded."
        start = (bitcount // 8)
        s = encoded[start:(start + 4)]
        try:
            code = unpack('>I', s)[0]
        except Exception:
            code = unpack('>I', (s + ('\x00' * (4 - len(s)))))[0]
        code <<= (bitcount % 8)
        code &= mask
        return (code >> shr)
    switchbitch = {255: (9, 23, int(((9 * '1') + ('0' * 23)), 2)), 511: (10, 22, int(((10 * '1') + ('0' * 22)), 2)), 1023: (11, 21, int(((11 * '1') + ('0' * 21)), 2)), 2047: (12, 20, int(((12 * '1') + ('0' * 20)), 2))}
    (bitw, shr, mask) = switchbitch[255]
    bitcount = 0
    if (len_encoded < 4):
        raise ValueError('strip    must    be    at    least    4    characters    long')
    if (next_code() != 256):
        raise ValueError('strip    must    begin    with    CLEAR    code')
    code = 0
    oldcode = 0
    result = []
    result_append = result.append
    while True:
        code = next_code()
        bitcount += bitw
        if ((code == 257) or (bitcount >= bitcount_max)):
            break
        if (code == 256):
            table = newtable[:]
            table_append = table.append
            lentable = 258
            (bitw, shr, mask) = switchbitch[255]
            code = next_code()
            bitcount += bitw
            if (code == 257):
                break
            result_append(table[code])
        else:
            if (code < lentable):
                decoded = table[code]
                newcode = (table[oldcode] + decoded[:1])
            else:
                newcode = table[oldcode]
                newcode += newcode[:1]
                decoded = newcode
            result_append(decoded)
    ...

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

@_replace_by('_tifffile.decode_lzw')
def decode_lzw(encoded):