Don't create file readers till we are within the memoization block,
otherwise we need to do expensive disk I/O every time.