в js (кроме сафари) нет оптимизации хвостовой рекурсии. но какой-нибудь промис, или таймаут, обрывают хвост, поэтому нет переполнения стека. попробуй все-таки не использовать рекурсию, возможно будет шустрее.
дело в том что есть fetch который умеет в промисы но не умеет в отмену запросов и есть xhr который не умеет в промисы зато умеет в отмену запросов. а есть библиотеки которые могут и в промисы и в отмену запросов
учитывая что они собираются зарабатывать исключительно на железе, так как игры не продаются, это вполне норм. ну а чтоб продавать игры надо запариваться с правообладателями, и в итоге всё равно не удастся получить права на все игры, и кто-нибудь останется не довольным. а так никаких проболем. ключик вам оставили, сами идите и пиратьте
крутая зона