Separate into two blocks.

Propagate error to the evaluated block.

Styled a bit.

Updated tests.

Fixes #113.