Throw/catch without continuations or errors

really simple blocks just defined like this:
image image

from that you get similar functionality to the catch and throw blocks from "Iteration, composition" library (previously in the variadic if library iirc), except implemented using very questionable behaviour of the report block when used inside run (see my bug report)

it doesn't use continuations (like the official throw/catch blocks) or errors (like in the "Catch errors" library) which are both much more intended ways of implementing flow control

so you can essentially report a value all the way through multiple custom blocks:

don't rely on this in any projects i'm just messing with a feature that i don't think should exist interesting undefined behaviour :3

The first input to CATCH isn't meant to be a variable into which you put a reported value. It's just an arbitrary label for this particular CATCH so that a THROW inside nested CATCHes can say which one it wants to jump out to.