def ordered_distinct(collection):
    """
    Return the unique elements of the given collection, preserving the order of elements.
    """
    seen = set()
    return [x for x in collection if x not in seen and (seen.add(x) or True)]