anchor.diff:  type Command =
     | Process of string
   
  +type Worker =
  +  | Do of Command
  +
   type Manager =
  -  | Do of Command
  +  | Do of int * Command
     | Start
     | Stop
   
  -type JobManager =
  +type MetaManager =
     | Send of jobId : Guid * message : string
     | Stop of jobId : Guid
     | Start of jobId : Guid
  
positive.code:   let stopWatch = System.Diagnostics.Stopwatch.StartNew()
    let request = createRequest Get <| Uri(uri)
    use response = getResponse request |> Async.RunSynchronously
    let body = Response.readBodyAsString response |> Async.RunSynchronously
    let responseTime = stopWatch.Elapsed.TotalMilliseconds
    printfn "%A" responseTime
  
  let newManager () : actor<Manager> =
    actor.Start(fun inbox ->
      let rec loop status =
        async {
          let! msg = inbox.Receive ()
          match msg with
          | Do command ->
            match status with
            | Stopped ->
              printfn "Can't do work when the job is stopped"
              return! loop status
            | Running ->
              match command with
              | Process uri -> doit uri
              return! loop status
          | Manager.Stop ->
            return! loop Stopped
  
negative.code: open Suave.Model.Binding
  open Suave.Http.ServerErrors
  open HttpFs.Client
  
  //very important
  System.Net.ServicePointManager.DefaultConnectionLimit <- 10000
  
  //helpers
  let guid guid = System.Guid.Parse(guid)
  