anchor.diff:  
   type Worker =
     | Do of Command
  +  | Retire
   
   type Manager =
     | Do of int * Command
  
positive.code:       async {
          let! msg = self.Receive ()
          match msg with
          | Worker.Do command ->
            match command with
            | Process uri -> doit uri
  
negative.code:             return! loop status
            | Running ->
              let workers = [ 1 .. count ] |> List.map (fun _ -> newWorker self)
              workers |> List.iter (fun worker -> worker.Post(Worker.Do(command)); worker.Post(Retire))
              return! loop status
          | Manager.Stop ->
            return! loop Stopped
  