Unless the
#programming #language #compiler recognizes declarative predicates and flattens them into if-then-else structures (which turn into if-goto assembler), this could lead to a huge stack full of procedures that are just idling about, waiting for a nested procedure to get released.
It's the exact opposite of
#guardClauses which short-circuit execution by failing fast, and return to their caller quickly, freeing that stack frame instantly.