An OrderedDict, OrderedSet and an OrderedSet with Weakrefs.[1] [2]