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

    bom_found = False
    encoding = None
    default = 'utf-8'
    def read_or_stop():
        try:
            return readline()
        except StopIteration:
            return bytes()
    def find_cookie(line):
        try:
            line_string = line.decode('ascii')
        except UnicodeDecodeError:
            return None
        match = cookie_re.match(line_string)
        if (not match):
            return None
        encoding = _get_normal_name(match.group(1))
        try:
            codec = lookup(encoding)
        except LookupError:
            raise SyntaxError(('unknown    encoding:    ' + encoding))
        if bom_found:
            if (codec.name != 'utf-8'):
                raise SyntaxError('encoding    problem:    utf-8')
            encoding += '-sig'
        return encoding
    first = read_or_stop()
    if first.startswith(BOM_UTF8):
        bom_found = True
        first = first[3:]
        default = 'utf-8-sig'
    if (not first):
        return (default, [])
    encoding = find_cookie(first)
    if encoding:
        return (encoding, [first])
    second = read_or_stop()
    if (not second):
        return (default, [first])
    encoding = find_cookie(second)
    if encoding:
        return (encoding, [first, second])
    return (default, [first, second])

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

def detect_encoding(readline):