Section Header
    + name := AVL_DICTIONARY[V, K];
    - comment := "Associative memory. Values of type `V' are stored using Keys of type `K'.";
Efficient implementation of DICTIONARY using an AVL balanced tree.
AVL stands for the names of G. M. Adel'son-Velskii and E. M. Landis,
two Russian mathematicians who first came up with this method of keeping
the tree balanced.
Section Insert
    + parent_avl_tree:Expanded AVL_TREE[K];
Section Inherit
    + parent_simple_dictionary:Expanded SIMPLE_DICTIONARY[V, K];
Section Public
    - capacity:INTEGER <-
    - at k:K :V <-
    - fast_at k:K :V <-
    - reference_at k:K :V <-
    - fast_reference_at k:K :V <-
    - put v:V to k:K <-
    - add v:V to k:K <-
    - fast_put v:V to k:K <-
    - occurrences v:V :INTEGER <-
    - fast_occurrences v:V :INTEGER <-
    - key_at v:V :K <-
    - fast_key_at v:V :K <-
    - clear_count <-
    - clear_count_and_capacity <-
    - item i:INTEGER :V <-
    - key index:INTEGER :K <-
    - internal_key k:K :K <-
    - make <-