// allocation. Each frame allocates a small object so GC may fire // mid-recursion. Must NOT crash; result must be exactly correct.