Agreed; needs a tutorial.
There's no conditional operator on a single line. Instead, if two lines come "near" each other there's an alternate denotation that compares the values and either terminates (or rolls back?) the line's behavior to some earlier point (perhaps dependent on the value in the stack?)
When the question strand executes, it looks at whether a list element (or entire list) is zero or below. If so, the entire block is rolled back to its previous state.
So all branching is done as rollbacks. And loops end by rolling back their last iteration.