In this case it can force the condition to be handled, by raising it instead of signaling. Failure to handle a raised condition through a non-local exit results in program termination. In most procedural object oriented languages, there is an arbitrary limit on the number of values a method or function can return. This limit is 1, and pointer arguments, struct returns, or other tricks are needed to return more than one value. In Common Lisp, multiple-valued returns are possible, but they are special.
TOM imposes no limit on the number of values that can be returned from a method.