protected internal override void VisitReturnStatement(ReturnStatement statement)
			{
				_stm = Ssm.CreateReturn(GetTransformed(statement.Expression));
			}
			protected internal override void VisitAssignmentStatement(AssignmentStatement statement)
			{
				_stm = Ssm.Stm.NewAsgnStm(((Ssm.Expr.VarExpr)GetTransformed(statement.AssignmentTarget)).Item, GetTransformed(statement.Expression));
			}
			protected internal override void VisitChoiceStatement(ChoiceStatement statement)
			{
				_stm = Ssm.CreateChoice(statement.Guards.Select(GetTransformed), statement.Statements.Select(GetTransformed));
			}
			protected internal override void VisitExpressionStatement(ExpressionStatement statement)
			{
				_stm = Ssm.Stm.NewExprStm(GetTransformed(statement.Expression));
			}
			protected internal override void VisitBlockStatement(BlockStatement statement)
			{
				_stm = Ssm.CreateBlock(statement.Statements.Select(GetTransformed));
			}