An AVL tree implementation in Swift, with a SortedDictionary and a SortedSet