VisualAge Smalltalk has, in addition to the standard #on:do:,
#when:do:, ..., #when:do:#when:do:#when:do:#when:do:#when:do:,
with the last four mapping to #whenOneOf:doMatching:, taking
two arrays.
It's easy enough to add your own methods like
on: exn1 do: act1 on: exn2 do: act2
������ "An imperfect emulation of VAST's #when:do:when:do:"
������ ^[self on: exn1 do: act1] on: exn2 do: act2
on: exn1 do: act1 on: exn2 do: act2 on: exn3 do: act3
������ "An imperfect emulation of VAST's #when:do:when:do:when:do:"
������ ^[[self on: exn1 do: act1] on: exn2 do: act2] on: exn3 do: act3
to BlockClosure.�� It won't be fast, but your code might be
clearer.