Separate into two blocks.

Propagate error to the evaluated block.

Styled a bit.

Updated tests.

Fixes #113.
Merge pull request #139 from joneshf/ready/113

Separate into two blocks.