anchor.diff:      member this.moveToFailed () = this.moveToSet("failed")
       
       /// see if the job is completed.
  -    member this.isCompleted = this.isDone("completed");
  -    
  -    /// see if job failed.
  -    member this.isFailed = this.isDone("failed");
  -    
  +    member this.isCompleted = this.isDone("completed")
  +    
  +    /// see if job failed
  +    member this.isFailed = this.isDone("failed")
  +   
       /// create a new job (note: The job will be stored in redis but it won't be added to the waiting list. You should probably use `Queue.add`)
       static member create (queue, jobId, data:'a, opts) = 
           async { 
  
positive.code:         async {
              logger.Info "emitting new queue-event %A for queue %s" eventType name
              match eventType with 
              | Paused -> pausedEvent.Trigger({ queue = this });
              | Resumed -> resumedEvent.Trigger({ queue = this });
              | _ -> failwith "Not a queue event!"
          }
  
      member internal x.emitNewJobEvent jobId =
          async {
              newJobEvent.Trigger({ jobId = jobId });
          }
  
      member internal x.emitJobEvent (eventType, job:Job<'a>, ?value, ?exn, ?data) = 
  
negative.code:             let! lock = job.takeLock token
              match lock with
              | true -> 
                  let key = this.toKey("completed")
                  let! contains = 
                      this.client().SetContainsAsync (key, job.jobId |> toValueI64) 
                      |> Async.AwaitTask
  