 M: #return-recursive emit-node
     finalize-phantoms
     label>> id>> loops get key?
-    [ ##epilogue ##return ] unless stop-iterating ;
+    [ iterate-next ] [ ##epilogue ##return stop-iterating ] if ;
 
 ! #terminate
 M: #terminate emit-node

: compile-recursive ( node -- next )
    [ label>> id>> emit-call ]
    [ [ child>> ] [ label>> word>> ] [ label>> id>> ] tri (build-cfg) ] bi ;

: compile-loop ( node -- next )
    finalize-phantoms

SYMBOL: current-word
SYMBOL: current-label
SYMBOL: loops
SYMBOL: first-basic-block

! Basic block after prologue, makes recursion faster
SYMBOL: current-label-start
