anchor.diff:              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()
  
positive.code:       i <- i + 1
      i
  
  let getCoordColor (x : int, y : int) : Color =
      let p = { r = float x * (maxX - minX) / float width + minX
              ; i = float y * (maxY - minY) / float height + minY }
      let i = getIterationCount p
      { r = i; g = i; b = i; a = 255}
  
  let showSet() =
      let ctx = document.getElementsByTagName_canvas().[0].getContext_2d()
  
negative.code: 
  let maxIter = 255
  
  let height = 1024
  let width = 1024
  
  let mutable minX = -2.0
  let mutable maxX = 2.0
  let mutable minY = -1.5
  let mutable maxY = 3.5
  let mutable rectX = 0.0
  let mutable rectY = 0.0
  let mutable rectW = 0.0
  let mutable rectH = 0.0
  
  let iteratePoint (s : Complex) (p : Complex) : Complex =
      { r = s.r + p.r*p.r - p.i*p.i; i = s.i + 2.0 * p.i * p.r }
  