So the 'load' instruction seems designed to just load and run a different program in place of the original 'calling' program.
But it does so while still retaining the original VARs, all of which become available to the newly 'loaded' program.
So in theory...
The main program could run 'first time around' and set appropriate flags, then 'load' a secondary program module which might behave according to the flags and VARs inherited from the first program.
The secondary might do its thing and change vars and flags etc, then eventually re-'load' the main program again, which might now behave totally differently depending on inherited flags and VAR changes.
It did seem to work mostly when I tried it a while ago, but it seemed to get some branch names and their corresponding 'jumps' muddled up, which was when I needed to ask mmiscool to detail what VARs limitations existed... and subsequently found that most of my VAR limitations were being exceeded, so I moved on to other things.