human
I wrote the below code

    ids = set([])
    collected = []
    queued = []
    def queue_one(obj):
        if (obj._id not in ids):
            queued.append(obj)
    for value in input_values:
        _visit_value_and_its_immediate_references(value, queue_one)
    while queued:
        obj = queued.pop(0)
        if (obj._id not in ids):
            ids.add(obj._id)
            collected.append(obj)
            _visit_immediate_value_references(obj, queue_one)
    return collected

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

def collect_models(*input_values):