Structure and algorithm for a fast lookup symbol storage method are described. A property of the metastructure tree is that distinct (unconfused) symbol spaces are supported so long as the first-added symbol of each space is given an offset stored off-tree. Hash
^{
[1]
}
collision is immaterial. No re-hashing is needed as symbol spaces grow.

Symbols and content are stored on one or two heaps, one of which will house the symbols. A hash of the symbol, 16 (32; 64; ..) bits wide,
*
not required to be unique
*
, guides an N-ary search of the symbol heap, via a structure where each node carries up to 2^N offsets into the tree, assured to be nonzero so that zero indicate absence. Practical N are {3, 4, 5}. If the present node is occupied, there is also an offset into the heap of symbols.

Dramatic speed improvement on sizable symbol populations over binary searching is had already with N=3.

Additionally, a heap offset to the symbol residing at this node will be kept. Say the arity
^{
[2]
}
of the tree is 3; so up to 8 offsets may be occupied at each depth. These are addressed within a node by dealing N bits at a time from the symbol hash. On each request during a search the dealer function returns the next N-bit-wide
*
hand
*
, rotating through the hash repeatedly as asked, inexhaustibly. The hand addresses one of N intra-node offsets to a node further into the metastructure.

The new symbol to be stored is compared with a symbol (if any) whose offset is carried at the present node. Clearly, symbol comparison code should return on the first character mismatch. Finding none, the new symbol is lodged at the node.

At each occupied node, the next N bits of hash are dealt and used to look at the node whose structure index is installed at the corresponding (one-of-N) position among the node's deeper branches.

Thus a symbol's hash becomes a small set of ordered steps through the metastructure which, bypassing dozens and hundreds of other nodes at each step, homes rapidly in on the node where it resides together with its compact value, or perhaps with an offset to its lengthier value in a different heap.