It currently looks like the `map.get(element)` returns `undefined` even for previously-loaded elements. Are we evicting from the cache prematurely? Why?

Our second level caching (inside of `parseHookNames`) is working but this is still resulting in a lot of unnecessary work.
locationKeyToHookSourceData.forEach(hookSourceData => {
    if (hookSourceData.originalSourceAST !== null) {
      
      return;
    }
    const {sourceConsumer} = hookSourceData;
    const runtimeSourceCode = ((hookSourceData.runtimeSourceCode: any): string);
    let originalSourceURL, originalSourceCode;
    if (sourceConsumer !== null) {
      
      const {lineNumber, columnNumber} = hookSourceData.hookSource;
      if (lineNumber == null || columnNumber == null) {
        throw Error('Hook source code location not found.');
      }
      
      
      const {source} = sourceConsumer.originalPositionFor({
        line: lineNumber,
        
        
        column: columnNumber - 1,
      });
      if (source == null) {
        
        throw new Error(
          'Could not map hook runtime location to original source location',
        );
      }