anchor.diff:                      if(itemIndex = 0L) then
                           reply.Reply()
                       else 
  -                        lastCompleteTracker.NotifyWhenComplete(itemIndex - 1L, Some "NotifyWhenComplete empty", async { reply.Reply() } )
  +                        lastCompleteTracker.NotifyWhenComplete(state.LastIndex(), Some "NotifyWhenComplete empty", async { reply.Reply() } )
                       Some(empty itemIndex)
                   | GroupComplete group -> Some(groupComplete group itemIndex)
                   | _ -> None)
  
positive.code:         groupItems.Add(group, value')
          ()
  
      let dispatcherAgent = 
          let theAgent = Agent.Start(fun agent -> 
              let rec empty itemIndex = 
  
negative.code: 
                  reply.Reply work
  
                  return! nextMessage itemIndex }
              and nextMessage itemIndex = async {
                  let currentQueueSize = state.GetWorkQueueCount()
                  if(currentQueueSize = 0) then
                      return! empty itemIndex
                  elif currentQueueSize >= maxItems then
  