Implemente uma função memo(fn, lifetime) que retorna uma nova função e armazena em cache o resultado da função original sem argumentos por um tempo de vida especificado em milissegundos. Deve armazenar apenas o último resultado, sem chaves e Map; uma chamada repetida dentro do tempo de vida deve retornar o resultado em cache.