The ReadThroughCache lookup function can return a LookupResult with a value of boost::none to inicate the lookup didn't found any result. As written in this comment, in those cases the time field of the LookupResult need to reflect the time for which the lookup request was issued. The problem is that in the scope of the LookupFn we don't have such a value, we only knows the key for which the lookup have been issued but not the time at which it was issued.
Moreover this will be required in order to use the ReadThroughCache to store collection routing information. In fact the future lookup function of such instantiation will need access to the old routing information previously cached in order to perform an incremental refresh.