This makes the visitor a little bit more complicated but
it allows client code to fetch raw variants. It is useful when
dealing with arrays and maps, so that client code can decide to
cache the intermediate array or map into a variable and then run
subsequent searches on that variant rather than from the start.
It should make looping a bit less expensive.
Directory names are not supported yet so this only works
if all the torrent files exist, are of the correct size and
are directly located in the working directory