A generic symbol table implementation supporting
pop operations which can be shared between threads.
For a faster implementation which is limited to a single thread only, see the
A symbol table implementation supporting snapshots, i.e. an
A trait for a symbol table which in which entries may be infallibly mutated.
A trait for a symbol table which can be indexed by a given key.
A trait for a stack-like symbol table in which a reference to the previous layer may be obtained