anchor.diff:    clone() => this;
   
     void draw(CanvasRenderingContext2D context) {
  +    var startTime = window.performance.now();
  +    //window.console.profile("draw");
       for (int y = 0; y < height; y++) {
         drawLine(context, y);
       }
  +    //window.console.profileEnd("draw");
  +    var elapsedTime = window.performance.now() - startTime;
  +    print("draw time: ${elapsedTime} ms");
     }
   
     void drawLine(CanvasRenderingContext2D context, int y) {
  
positive.code:     context.fillRect(left, y, width - left, 1);
    }
  
    int get maxIterations => colors.length - 1;
  
    num get radiusPixels => width < height ? width/2.0 : height/2.0;
    num scalePixel(num pix) => pix * radius / radiusPixels;
  
    num pixelToCoordX(int x) => scalePixel(x - width / 2) + center.real;
    num pixelToCoordY(int y) => -scalePixel(y - height / 2) + center.imag;
  }
  
  /// Returns the number of iterations it takes for the Mandelbrot sequence to
  
negative.code: 
      int left = null;
      String prevColor = null;
      int maxIterations = colors.length - 1;
      for (int x = 0; x < width; x++) {
        num real = pixelToCoordX(x);
        int count = probe(real, imag, maxIterations);
        String color = colors[count];
        if (color != prevColor) {
          if (prevColor != null) {
            context.fillStyle = prevColor;
  