Block, BlockExpression refactor