anchor.diff:      Board.DIRECTIONS.forEach((String dir) {
         Board tmp = new Board.copy(board);
         if (tmp.doDirection(dir)) {
  -        num score = _search(tmp, [dir]);
  +        num score = _search([board, tmp], [dir]);
           if (bestScore == null || score > bestScore) {
             best = dir;
             bestScore = score;
  
positive.code: 
    void keyDown(KeyboardEvent event) {
      switch (event.keyCode) {
        case 37:
          left();
          break;
  
negative.code:     return s / (cell.y + 1);
    }
  
    num evaluate(List<Board> boards, List<String> moves) {
      num score = 0;
      boards.last.rows.forEach((row) {
        row.forEach((cell) {
          score += _edgeCellScore(cell, boards.last);
        });
      });
      return score;
  