Looks like we may get the best of both worlds now, with multiple returns! The RESCUE and CATCH could offer a second output which is the value that "falls out" of the evaluation.
>> [error value]: rescue [1 + 1]
== ~null~ ; anti
>> error
== ~null~ ; anti
>> value
== 2
>> [_ value]: rescue [1 + 1] then [print "error!"]
>> value
== 2
>> [_ value]: rescue [1 / 0] then [print "error!"]
error!