anchor.diff:          }
       member private this.isDone list =
           async {
  -            let client:IDatabase = this.queue.client
  +            let client:IDatabase = this.queue.client()
               return! client.SetContainsAsync(this.queue.toKey(list), toValueI64 this.jobId) |> Async.AwaitTask
           }
       member this.moveToCompleted () = this.moveToSet("completed")
  
positive.code:         |]
      member this.progress progress = 
          async {
              let client:IDatabase = this.queue.client
              do! client.HashSetAsync (
                      this.queue.toKey(this.jobId.ToString ()), 
                      [| HashEntry (toValueStr "progress", toValueI32 progress) |]
                  ) |> Async.awaitPlainTask
              do! this.queue.emit(EventType.Progress, this, progress)
          }
      member this.remove () = async { raise (NotImplementedException ()) }
      member this.takeLock (token, ?renew) = async {
  
negative.code:     let fromValueI64 (x:RedisValue):int64 = int64(x)
      let fromValueI32 (x:RedisValue):int = int(x)
      let valueToKeyLong (x:RedisValue):RedisKey = RedisKey.op_Implicit(int64(x).ToString ())
  
      /// <summary>
      /// Option coalesing operator 
      /// <c>
      /// None |? 4 -> 4
      /// Some 4 |? 3 -> 4
      /// </c>
      /// </summary>
      let (|?) (x: 'a option) (y: 'a) =  match x with | None -> y | Some z -> z
  
      let LOCK_RENEW_TIME = 5000.0
  
      exception JobHandleException of string
  
  module Async =
      let inline awaitPlainTask (task: Task) = 
  