The next state to process during duplication.
The next state to process during insertion and any remaining ranges that we
want to add for a particular sequence of ranges. The first such instance
is always the root state along with all ranges given.
The next state (and its corresponding transition) that we want to visit
during iteration in lexicographic order.
A range trie represents an ordered set of sequences of bytes.
Split represents a partitioning of two ranges into one or more ranges. This
is the secret sauce that makes a range trie work, as itβs what tells us
how to deal with two overlapping but unequal ranges during insertion.
A single state in this trie.
A transition is a single range of bytes. If a particular byte is in this
range, then the corresponding machine may transition to the state pointed
to by next_id
.