For now, we use 32-bit integers as indices in the hash trie. This limits the amount of states to about 4 billion.
The idea is to use two 24-bit integers as indices. One bit may be used to distinguish indices in the nodes array from indices in the digest array.
We use 1 bit to store the is_digest flag and 15+32 bit for indices now. Let's see whether it breaks.