I'm trying to build a nested structure of all names in a
database. I'd guess that I'll have 1 root called root, then
probably A-Z nested structs within the root. Then A-Z structs in
all the first level A-Z structs and so on, this would probably go
50 deep.
The keys would be A-Z if there was a matching name with a
letter at that position, probably not a lot of Z's as the second
letter of someones name, so we would skip Z's at that level.
So now if you're name started with D, you would start at the
struct root["D"]. Now root["D"] is our root so to speak, but now we
are looking for the second letter in your name "A", so we would be
at root["D"]["A"] ... so in the end I'd be at
root["D"]["A"]["V"]["E"].
Now when I got to root["D"]["A"]["V"] of the struct, I'd also
see all the other variations from there, ie
root["D"]["A"]["V"]["I"]["D"]