OK, now I get it. Below the line is what I should never have done. Instead of trying to compose a loop created by loops, I just had to lock it to start.
That is, the Download button no longer generates another view. Instead, it rejects the current view, which can only be ever child of the Load view, creating the illusion of a new view and completely eliminating the problem of an uncontrollably growing stack.
Again, this is the wrong option:
, #define 'd if/else , .
- , , (/ ), . , ( , ), , .