anchor.diff:                              ch.Reply()
                               return ()                            
                           | Process (x,continuation) -> 
  -                            //printfn "PROCESS"
  +                            //printfn "PROCESS start"
                               let r = f x
                               continuation r
  +                            //printfn "Process End"
                               return! loopW n
                           | x -> 
                               printfn "unexpected message for Worker: %A" x
  
positive.code:                             let! msg = inbox.Receive()
                              match msg with
                              | Die ch ->
                                  chForReplyToDie := Some ch
                                  if !dataIsEnd 
                                      then
                                          ch.Reply()
                                          return ()
                                  return! loop n
                              | InitBuffers (bufs,ch) ->
                                  ch.Reply bufs
                                  bufs |> Array.iter dataToFill.Enqueue                                
                                  return! loop n
                              | Get(ch) -> 
                                  //printfn "GET"
                                  let b =
                                      let s,r = dataToProcess.TryDequeue()
                                      if s then 
                                          if r.IsNone then dataIsEnd := true
                                          r
                                      elif not !dataIsEnd
                                      then
                                          let rec go _ =
                                              let s,r = dataToProcess.TryDequeue()                                     
                                              if s 
                                              then r
                                              elif  not !dataIsEnd then go () else None
                                          go () //|> Some
                                      else None
                                  if b.IsNone then dataIsEnd := true
                                  ch.Reply b
                                  if b.IsSome
                                  then 
                                      return! loop n
                                  elif chForReplyToDie.Value.IsSome
                                  then                                     
                                      chForReplyToDie.Value.Value.Reply()
                                      return ()
                                  else
                                      dataIsEnd := true
                                      return! loop n
                              | Enq b -> 
                                  dataToFill.Enqueue b
                                  //match b with
                                  //| Some b -> dataToFill.Enqueue b
                                  //| None -> ()
                                  return! loop n
                              | x ->  
                                  printfn "Unexpected message for Worker: %A" x
  
negative.code: let rows = 1100
  let columns = 1100
  
  type Master<'d,'r,'fr>((*config:MasterConfig,*) workers:array<Worker<'d,'r>>, fill: 'd -> Option<'d>, bufs:ResizeArray<'d>, postProcessF:Option<'r->'fr>) =        
      
      let isDataEnd = ref false
      let reader = new Reader<_>(fill)
  