Мемоизация функции

К примерам
JavaScriptсреднийПример

Реализуйте `memoize(fn)`, которая возвращает новую функцию с тем же поведением, но кэширует результаты по первому аргументу. Повторный вызов с тем же аргументом должен вернуть кэшированное значение без повторного вызова исходной функции.

«Создать сессию» скопирует пример и сразу откроет ссылку для кандидата. «В мои задачи» — скопирует, чтобы отредактировать перед сессией.