> What do you mean by "completely abort"? Couldn't it simply raise an > exception that could be handled in main? Yeah, that's what I meant by complete abort. You don't get to save the work you did get done. You could checkpoint progress, but of course that's an impure operation.