anchor.diff:  
       if (items.isEmpty) {
         assert(hasConflict);
  -      return 'conflict';
  +      return new Set.from(['conflict']);
       }
   
  -    return items.join(', ');
  +    assert(!hasConflict);
  +
  +    return (items..sort()).toSet();
     }
  +
  +  String get description => descriptionSet.join(', ');
   
     @override
     String toString() => 'PlatformInfo: $description';
  
positive.code:       !platforms.any((p) => uses.contains(p));
  }
  
  PlatformInfo classifyPubspec(Pubspec pubspec) {
    var uses = new Set<String>();
    if (pubspec.hasFlutterKey || pubspec.dependsOnFlutterSdk) {
      uses.add(PlatformFlags.flutter);
    }
    return new PlatformInfo(uses);
  }
  
  PlatformSummary classifyPlatforms(
  
negative.code:         PlatformFlags.dartExtension,
        ]));
  
    Set<String> get descriptionSet {
      if (worksEverywhere) {
        return new Set.from(['everywhere']);
      }
  
      var items = <String>[];
  