Should TRAP and CATCH return null if no fails/throws?

Looks like we may get the best of both worlds now, with multiple returns! The TRAP and CATCH could offer a second output which is the value that "falls out" of the evaluation.

>> [error value]: trap [1 + 1]
== ~null~  ; anti

>> error
== ~null~  ; anti

>> value
== 2

>> [~ value]: trap [1 + 1] then [print "error!"]

>> value
== 2

>> [~ value]: trap [1 / 0] then [print "error!"]
error!

How slick is that?? Very...