def uniq(seq):
    """return uniq elements of a list, preserving order

    :param seq: an iterable to be analyzed
    """
    seen = set()
    return [x for x in seq if not (x in seen or seen.add(x))]