@jreidinger @vmoravec For the record, I find the recursion more confusing than the loop. An orthogonal confusion factor is that `Popup.YesNo(warnings.join)` is unreadable unless you know how the warnings are worded. I'll make a PR with `ContinueCancel`.