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

    def yield_lines():
        try:
            for line in stderr:
                (yield to_unicode(line))
        except IOError as e:
            if (e.errno == errno.EIO):
                return
            else:
                raise
    def pre_filter(line):
        return bool(_HADOOP_STREAMING_NON_LOG4J_LINE_RE.match(line))
    def yield_records():
        for record in _parse_hadoop_log4j_records(yield_lines(), pre_filter=pre_filter):
            if record_callback:
                record_callback(record)
            (yield record)
    result = _parse_step_syslog_from_log4j_records(yield_records())
    _add_implied_job_id(result)
    for error in (result.get('errors') or ()):
        _add_implied_task_id(error)
    return result

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

def _interpret_hadoop_jar_command_stderr(stderr, record_callback=None):