This doesn't actually work, because `next_node` blocks are evaluated before `calculate` blocks.

We'll probably also want to add some copy for the error message.