anchor.diff:          : optional(':', colonAfterDefault));
       debugEvent("SwitchCase");
   
  -    List<Statement> statements = popList(statementCount);
  -    List<SwitchMember> members = popList(expressionCount) ?? [];
  -    List<Label> labels = popList(labelCount);
  +    List<Statement> statements = popTypedList(statementCount);
  +    List<SwitchMember> members = popTypedList(expressionCount) ?? [];
  +    List<Label> labels = popTypedList(labelCount);
       if (defaultKeyword != null) {
         members.add(ast.switchDefault(
             <Label>[], defaultKeyword, colonAfterDefault, <Statement>[]));
  
positive.code:     debugEvent("LabeledStatement");
  
      Statement statement = pop();
      List<Label> labels = popList(labelCount);
      push(ast.labeledStatement(labels, statement));
    }
  
  
negative.code: import 'package:front_end/src/fasta/scanner.dart' hide StringToken;
  import 'package:front_end/src/scanner/errors.dart' show translateErrorToken;
  import 'package:front_end/src/scanner/token.dart'
      show StringToken, SyntheticBeginToken, SyntheticStringToken, SyntheticToken;
  
  import 'package:front_end/src/fasta/problems.dart' show unhandled;
  import 'package:front_end/src/fasta/messages.dart'
  