The biggest problem is pan's assumption that it has all the information
necessary to maintain its threading structure in memory at all times. In
ordered to really allow pan to become a disk-based client, to store most
of that info on disk and only read in a rather smaller limited working
set at once, pan really needs some sort of header indexing or at least
hashing system devised, such that it can figure out what info it needs to
read in from disk, from a vastly larger on-disk store, in ordered to work
with and properly thread, at a minimum, the currently displayed article
headers, likely plus some pages from the article list before and after
the currently displayed set.