anchor.diff:      int tail1 = file1.length;
       int tail2 = file2.length;
   
  -    Map chunkDescription(file, int offset, int length) {
  -      List chunk = [];
  -      for (int i = 0; i < length; i++) {
  -        chunk.add(file[offset + i]);
  -      }
  -
  -      // TODO(adam): class `ChunkDescription`
  -      return {"offset": offset, "length": length, "chunk": chunk};
  -    }
  -
       // TODO(adam): class `Candidate`
       var candidate = longest_common_subsequence(file1, file2);
   
  
positive.code:       int side = x[0];
        if (side == -1) {
          if (excludeFalseConflicts && !isTrueConflict(x)) {
            pushOk(files[0].getRange(x[1], x[1] + x[2]));
          } else {
            flushOk();
            // TODO(adam): class `Conflict`
            result.add({
              "conflict": {
                "a": a.getRange(x[1], x[1] + x[2]),
                "aIndex": x[1],
                "o": o.getRange(x[3], x[3] + x[4]),
                "oIndex": x[3],
                "b": b.getRange(x[5], x[5] + x[6]),
                "bIndex": x[5]
              }
            });
          }
        } else {
          pushOk(files[side].getRange(x[1], x[1] + x[2]));
        }
      }
  
  
negative.code: 
      List<List> hunks = [];
      void addHunk(h, int side) {
        hunks.add([h["file1"][0], side, h["file1"][1], h["file2"][0], h["file2"][1]]);
      }
  
      for (int i = 0; i < m1.length; i++) {
  