anchor.diff:        resultsById[blue.id].recordVictory();
       else if (result < 0) resultsById[red.id].recordVictory();
     }
  -  champIds.sort((a, b) => resultsById[a].compareTo(resultsById[b]));
  -  champIds.forEach((id) {
  -    ChampResults results = resultsById[id];
  -    String line = "$id ${results.victories}";
  -    if (results.hasEffects) line += " (has passive)";
  -    print(line);
  +  List<ChampResults> results = resultsById.values.toList();
  +  results.sort();
  +  TableLayout layout = new TableLayout([13, 10, 10]);
  +  layout.printRow(['Name', 'Victories', 'Status']);
  +  layout.printDivider();
  +  results.forEach((result) {
  +    String statusString = result.hasEffects ? '(has passive)' : '';
  +    layout
  +        .printRow([result.champId, result.victories.toString(), statusString]);
     });
   }
  
positive.code:   DragonData data = await DragonData.loadLatest();
    List<String> champIds = data.champs.loadChampIds();
    Map<String, ChampResults> resultsById = {};
    champIds.forEach((id) => resultsById[id] = new ChampResults());
    Combinations combos = new Combinations(2, champIds);
    // Combinations doesn't implement iterable, so I can't use it in strong mode. :(
    for (int i = 0; i < combos.length; i += 1) {
  
negative.code: import 'package:lol_duel/dragon.dart';
  import 'package:lol_duel/lolsim.dart';
  import 'package:trotter/trotter.dart';
  import 'package:lol_duel/champions.dart';
  
  int champCompare(Mob red, Mob blue) {
    new World(reds: [red], blues: [blue]).tickUntil(World.oneSideDies);
  