anchor.diff:          isProgressFrame(parser: 'letter or digit expected', position: 3),
           isProgressFrame(parser: 'letter or digit expected', position: 4),
           isProgressFrame(parser: 'letter or digit expected', position: 5),
  +      ]);
  +    });
  +    test('labeled', () {
  +      final frames = <ProgressFrame>[];
  +      final parser = progress(labeledIdentifier,
  +          output: frames.add, predicate: (parser) => parser is LabeledParser);
  +      expect(parser.parse('ab123').isSuccess, isTrue);
  +      expect(frames, [
  +        isProgressFrame(parser: 'first', position: 0),
  +        isProgressFrame(parser: 'remaining', position: 1),
         ]);
       });
       test('failure', () {
  
positive.code:             parser: 'SequenceParser', level: 0, result: isSuccessContext()),
        ]);
      });
      test('failure', () {
        final events = <TraceEvent>[];
        final parser = trace(identifier, output: events.add);
  
negative.code: import 'test_utils.dart';
  
  final identifier = letter() & word().star();
  final labeledIdentifier =
      letter().labeled('first') & word().star().labeled('remaining');
  
  Matcher isProfileFrame({required String parser, int count = 0}) =>
      isA<ProfileFrame>()
  