Caché Inteligente con Closures

Dificultad: Difícil JavaScript advanced coding
const memoize = fn => {
    const cache = new Map();
    return async (...args) => {
        const key = JSON.stringify(args);
        if (!cache.has(key)) cache.set(key, await fn(...args));
        return cache.get(key);
    };
};
📥 Inputs:
const fetchUser = async (id) => ({ id, name: 'User' + id }); const cached = memoize(fetchUser); await cached(1); // Primera llamada await cached(1); // Desde caché
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo