I'm really not sure why searchCacheXXX is necessary. To me Module::insearch looks sufficient flag to detect infinite recursion...