Подскажите, пожалуйста, правильно я понимаю, что в данном случае в пункте 1 функция cleanup добавляется в стек невыполненных функций, а в пункте 2 она уже выполняется.
https://i.imgur.com/UheIJhR.png Я ни разу с таким еще не сталкивался и не очень понимаю, почему она сразу не выполняется. Я думал, что все функции просто по очереди добавляются в стак, исполняются и выводятся из стака.