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.
return new WeakMap();
}
function getRecordMap(): WeakMap<Element, Record<HookNames>> {
  return getCacheForType(createMap);
}
export function loadHookNames(
  element: Element,
  hooksTree: HooksTree,
  loadHookNamesFunction: (hookLog: HooksTree) => Thenable<HookNames>,
): HookNames | null {
  if (!enableHookNameParsing) {
    return null;
  }
  const map = getRecordMap();
  let record = map.get(element);
  if (record) {
    
    
    
  } else {
    const callbacks = new Set();
    const wakeable: Wakeable = {
      then(callback) {
        callbacks.add(callback);
      },
    };
    const wake = () => {
      if (timeoutID) {
        clearTimeout(timeoutID);
        timeoutID = null;