def uniquify(list):
    """
    uniqify()
    Purpose:    Remove duplicate items in a list, preserving the original order
    Parameters: list [type=list]
                    A list of items (must be hashable)
    Returns:    A list of unique items
    """
    seen = {}
    result = []
    for elem in list:
        if elem in seen: continue
        seen[elem] = 1
        result.append(elem)
    return result