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

    def get_transcript_id(fields):
        return parse_gff_attributes(fields[8])['transcript_id']
    if strict:
        key_fn = get_transcript_id
    else:
        def key_fn(fields):
            return ((fields[0] + '_') + get_transcript_id(fields))
    feature_intervals = odict()
    comments = []
    for (count, line) in enumerate(iterator):
        if line.startswith('#'):
            comments.append(Comment(line))
            continue
        line_key = key_fn(line.split(' DCTB '))
        if (line_key in feature_intervals):
            feature = feature_intervals[line_key]
        else:
            feature = []
            feature_intervals[line_key] = feature
        feature.append(GFFInterval(None, line.split(' DCTB ')))
    chroms_features = {}
    for (count, intervals) in enumerate(feature_intervals.values()):
        intervals.sort(key=(lambda _: _.start))
        feature = GFFFeature(None, intervals=intervals)
        if (feature.chrom not in chroms_features):
            chroms_features[feature.chrom] = []
        chroms_features[feature.chrom].append(feature)
    chroms_features_sorted = sorted(chroms_features.values(), key=(lambda _: _[0].chrom))
    for features in chroms_features_sorted:
        features.sort(key=(lambda _: _.start))
    for comment in comments:
        (yield comment)
    for chrom_features in chroms_features_sorted:
        for feature in chrom_features:
            (yield feature)

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

def read_unordered_gtf(iterator, strict=False):