anchor.diff:      ]).toTrace();
   
       expect(trace.toString(), equals(
  -        'user/code.dart 10:11  Foo.bar\n'
  +        '$userSlashCode 10:11  Foo.bar\n'
           'dart:core 10:11       Bar.baz\n'
  -        'user/code.dart 10:11  Foo.bar\n'
  +        '$userSlashCode 10:11  Foo.bar\n'
           'dart:core 10:11       Bar.baz\n'));
     });
   
  
positive.code: 
        expect(chain.terse.toString(), equals(
            'dart:core             Bar.baz\n'
            'user/code.dart 10:11  Bang.qux\n'
            'dart:core             Zop.zoop\n'
            '===== asynchronous gap ===========================\n'
            'user/code.dart 10:11  Bang.qux\n'
            'dart:core             Zip.zap\n'
            'user/code.dart 10:11  Zop.zoop\n'));
      });
  
      test('eliminates internal-only traces', () {
  
negative.code:     });
    });
  
    var userSlashCode = p.join('user', 'code.dart');
    group('Chain.terse', () {
      test('makes each trace terse', () {
        var chain = new Chain([
  