public bool Check(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
 {
     return node.TypeSwitch(
         (ExpressionSyntax expression) => CheckExpression(semanticModel, expression, cancellationToken),
         (BlockSyntax block) => CheckBlock(semanticModel, block, cancellationToken),
         (StatementSyntax statement) => CheckStatement(semanticModel, statement, cancellationToken),
         (GlobalStatementSyntax globalStatement) => CheckGlobalStatement(semanticModel, globalStatement, cancellationToken));
 }