We should allow the caller of file `open` to separately do the IO and CPU. The IO is one or two footer reads and the CPU work is parsing those bytes.