anchor.diff:                                  return false, currentTs
                           with ex ->
                               logger.Logf "Failed to give heartbeat %A" ex
  -                            let newTimeSpan = min (TimeSpan.FromTicks(currentTs.Ticks * 2L)) WorkerManager.MaxHeartbeatTimeSpan
  +                            let newTimeSpan = min (TimeSpan.FromTicks(currentTs.Ticks * 2L)) maxHeartbeatInterval
                               logger.Logf "Increasing timespan to %A" newTimeSpan
                               return true, newTimeSpan
                           }
  
positive.code:             return wr |> Seq.map (fun w -> new WorkerRef(Configuration.Pickler.UnPickle(w.ConfigurationId) ,w.PartitionKey, w.RowKey))
          }
  
      
      static member MaxHeartbeatTimeSpan = TimeSpan.FromMinutes(10.) // http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx
      
      static member Create(config : ConfigurationId, logger : ICloudLogger) = new WorkerManager(config, logger)
  
negative.code:     let runningPickle = WorkerStatus.Pickle Running
  
      let heartbeatAgent = 
          let maxHeartbeatInterval = TimeSpan.FromMinutes(1.)
  
          new MailboxProcessor<WorkerManagerMessage>(fun inbox ->
              let rec loop (state : WorkerManagerState option) = async {
                  let! message = async {
  