pub type OrderedSet<K> = AVL<K>;
pub enum OrderedSet<K> { Empty, Node { key: Rc<K>, value: Rc<()>, left: Rc<AVL<K>>, right: Rc<AVL<K>>, }, }
key: Rc<K>
value: Rc<()>
left: Rc<AVL<K>>
right: Rc<AVL<K>>