anchor.diff:                          groupBonus += groupBonusValue(blob.length);
                           removals.addAll(blob);
                       }
  -                    
  +
                       colorBonus += colorBonusValue(colorsRemoved.length);
  -                    
  +
                       removeBlobs(newBoard, removals);
   
                       scoreUpdate += 10 * blocksCleared *
  
positive.code:     List<Move> p1Moves;
      List<Move> p2Moves;
      List<Pair> pairs;
      
      int p1Death = -1;
      int p2Death = -1;
      
      num p1Nuisance = 0;
      num p2Nuisance = 0;
      
      num p1Eval = -1;
      num p2Eval = -1;
      
      num p1Discount;
      num p2Discount;
      
      Solution(this.p1Start, this.p2Start, this.pairs, this.p1Moves, this.p2Moves){
          p1End = p1Start.clone();
          p2End = p2Start.clone();
  
negative.code:         sw = new Stopwatch();
          sw.start();
          stderr.writeln("Reset Clock: ${sw.elapsedMilliseconds}");
  
          stderr.writeln("Upcoming: $pairs");
          printBoard(myBoard);
  
          //single depth ranking until depthEval works
          Map rankMap = rankMoves(me);
          stderr.writeln("Rankmap $rankMap");
          List<Move> bestMoves = rankMap[rankMap.keys.last];
          Move move = bestMoves[rand.nextInt(bestMoves.length)];
  
          Solution sol = findSolution(me, opp, pairs.take(5).toList());
          Move solMove = sol.p1Moves.first;
  
          if(rankMap.keys.last > sol.p1Eval){
              stderr.writeln("Chose single-depth move $move");
              print("${move.col} ${move.rot}");
  