bug: Fix #8138 stack-overflow when idealizing large trees
bug: Fix #8138 stack-overflow when idealizing large trees

What was going on here is that we were shortcircuiting when
there weren't any children... and these calls ended up essentially
chaining together one after another till the call stack limit
as hit.  Insisting that this function be async w/ dezalgo allows
the short cirtuiting to not blow the stack.

segrey/npm,cchamberlain/npm,princeofdarkness76/npm,evocateur/npm,yibn2008/npm,DaveEmmerson/npm,haggholm/npm,midniteio/npm,rsp/npm,yibn2008/npm,TimeToogo/npm,thomblake/npm,chadnickbok/npm,Volune/npm,cchamberlain/npm,thomblake/npm,Volune/npm,kemitchell/npm,misterbyrne/npm,cchamberlain/npm-msys2,segrey/npm,xalopp/npm,evocateur/npm,cchamberlain/npm-msys2,xalopp/npm,misterbyrne/npm,evanlucas/npm,midniteio/npm,rsp/npm,haggholm/npm,evanlucas/npm,kemitchell/npm,DIREKTSPEED-LTD/npm,lxe/npm,TimeToogo/npm,evocateur/npm,ekmartin/npm,princeofdarkness76/npm,chadnickbok/npm,misterbyrne/npm,TimeToogo/npm,thomblake/npm,DaveEmmerson/npm,DIREKTSPEED-LTD/npm,kemitchell/npm,segrey/npm,yodeyer/npm,yodeyer/npm,DaveEmmerson/npm,ekmartin/npm,evanlucas/npm,xalopp/npm,kimshinelove/naver-npm,kimshinelove/naver-npm,lxe/npm,yodeyer/npm,Volune/npm,chadnickbok/npm,haggholm/npm,cchamberlain/npm,lxe/npm,cchamberlain/npm-msys2,yibn2008/npm,DIREKTSPEED-LTD/npm,midniteio/npm,kimshinelove/naver-npm,princeofdarkness76/npm,ekmartin/npm,rsp/npm