Another very interesting structure are the Finger Trees, that allow for efficient implementations of deques (double ended queues), priority queues or lists with O(1) size information - Finger trees: a simple general-purpose data structure There are couple implementations in erlang in the wild.
It could be interesting to see some Elixir based implementations with all the protocols.


















