The EdisonAPI package

Edison is a library of purely functional data structures written by
Chris Okasaki. It is named after Thomas Alva Edison and for the
mnemonic value EDiSon (Efficient Data Structures).
Edison provides several families of abstractions, each with
multiple implementations. The main abstractions provided by Edison are:
Sequences such as stacks, queues, and dequeues;
Collections such as sets, bags and heaps; and
Associative Collections such as finite maps and priority queues
where the priority and element are distinct.