Removed the specific cases for handling blocks, and instead called the Visit() method on each of the expressions. Visit() will create a new block and call StartBehavior, where as Visit for most items will evaluate those items.