InsertionOrderedDictionary has most of the same APIs as Dictionary and there are some common algorithms we can build upon that (currently in PenguinExtensions.swift). It's unclear how much is specific to a hashed dictionary and whether a SortOrderedDictionary would have a subset of these APIs. Investigating that is another interesting project.