internal IEnumerable <StatementSyntax> Instrument(StatementSyntax syntaxNode, INodeModel nodeModel, CompilationOptions options)
        {
            // TODO: RecordValue codegen counter instead of counting them after the fact
            if ((options & CompilationOptions.Tracing) != 0)
            {
                int recordedValuesCount = syntaxNode.GetAnnotatedNodes(Annotations.RecordValueKind).Count();

                yield return(InstrumentForInEditorDebugging.BuildLastCallFrameExpression(recordedValuesCount, nodeModel.Guid,
                                                                                         GetRecorderName(),
                                                                                         nodeModel is INodeModelProgress && nodeModel is CoroutineNodeModel coroutineNodeModel
                    ? MemberAccessExpression(
                                                                                             SyntaxKind.SimpleMemberAccessExpression,
                                                                                             IdentifierName(CoroutineParameterName),
                                                                                             IdentifierName(coroutineNodeModel.VariableName))
                    : null));
            }

            yield return(syntaxNode);
        }