TS: Changing StmtAlternative in IR to be subclass of Block instead of Scope only, to have same code to treat the statements. Also added StmtAlternative and CaseStatement in IrReplaceSwitch. Made the constant expression evaluator to handle the scope for a StmtAlternative with the guards also evaluated inside that scope.