anchor.diff:        i <- i + 1
       i
   
  -let getCoordColor (x : int, y : int) : Color =
  +let getCoord (x : int, y : int) : Complex =
       let p = { r = float x * (maxX - minX) / float width + minX
               ; i = float y * (maxY - minY) / float height + minY }
  +    p
  +
  +let getCoordColor (x : int, y : int) : Color =
  +    let p = getCoord (x, y)
       let i = getIterationCount p
  -    { r = i; g = i; b = i; a = 255}
  +    { r = 255/(i%5); g = 255/(i%3); b = 255/(i%7); a = 255}
   
   let showSet() =
       let ctx = document.getElementsByTagName_canvas().[0].getContext_2d()
  
positive.code: 
  
  open Fable.Core
  open Fable.Import.Browser
  
  type Complex = { r : double; i : double }
  
negative.code:             img.data.[index+3] <- float color.a
      ctx.putImageData(img, 0., 0.)
  
      ctx.fillStyle <- !^"rgba(200,0,0,0.5)"
      ctx.fillRect (rectX, rectY, rectW, rectH)
  
  
  document.addEventListener_mousedown(fun de ->
      rectX <- de.clientX
      rectY <- de.clientY
      rectW <- 0.0
      rectH <- 0.0
      showSet()
      obj ())
  
  document.addEventListener_mousemove(fun de ->
      if de.buttons = 1.0 then
          rectW <- de.clientX - rectX
          rectH <- de.clientY - rectY
          showSet()
      obj ())
  
  document.addEventListener_mouseup(fun de ->
      let p1 = getCoord (int rectX, int rectY)
      let p2 = getCoord (int (rectX + rectW), int (rectY + rectH))
      minX <- min p1.r p2.r
      maxX <- max p1.r p2.r
      minY <- min p1.i p2.i
      maxY <- max p1.i p2.i
      rectX <- 0.0
      rectY <- 0.0
      rectW <- 0.0
      rectH <- 0.0
      showSet()
      obj ())
  
  showSet()
  