Traditionally, data structures have been based on fixed arrays or trees of values accessed using a pointer based scheme of links. There have been many recent approaches aimed at extending such a system to allow for more complex linkages between different nodes of data.