anchor.diff:    }
   }
   
  -class SameColorArea implements Area {
  +class SameColorArea extends Area {
     final Pixels pixels;
     final String basicColor;
   
  
positive.code:   }
  }
  
  class NeighborSameColorArea extends SameColorArea implements Area {
    static const LEFT = const Point(-1, 0);
    static const RIGHT = const Point(1, 0);
    static const UPPER = const Point(0, -1);
  
negative.code: import 'dart:math';
  import '../pixels.dart';
  
  abstract class Area {
    Pixels get pixels;
    Set<Point<int>> get points;
  }
  
  class PointSetArea extends Area {
    final Pixels pixels;
    final Set<Point<int>> points;
  
    PointSetArea._(this.pixels, this.points);
  
    factory PointSetArea(Pixels pixels, Set<Point<int>> points) {
      final rect = pixels.rectangle;
      final p = points.where(rect.containsPoint).toSet();
      return new PointSetArea(pixels, p);
    }
  }
  
  class RectArea extends Area {
    final Pixels pixels;
    final Rectangle<int> rectangle;
  
  