anchor.diff:  
       /// get the entry from the hash that correspons with the name
       let getHashEntryByName (hash: HashEntry array) name =
  -        hash |> Seq.tryFind (fun h -> h.Name |> string = name)
  +        hash |> Seq.tryFind (fun h -> h.Name |> fromValueString = name)
       
       /// calc unix time from millisecs since 1-1-1970
       let toUnixTime (dt:DateTime) = (dt - epoch).TotalMilliseconds
  
positive.code:             return Job.fromData (
                  queue, 
                  jobId,
                  jobHash("data").Value.Value |> string, 
                  jobHash("opts").Value.Value |> string, 
                  jobHash("progress").Value.Value |> int,
                  jobHash("timestamp").Value.Value |> float,
                  match jobHash("delay") with
                  | None -> None
                  | Some x when x.Value |> string = "undefined" -> None
                  | Some x when x.Value |> float = 0. -> None
                  | Some x -> x.Value |> float |> Some)
          }
  
      /// create a job from a redis hash
  
negative.code:         async {
              let! (gotIt:RedisValue) = this.moveJob(this.toKey("wait"), this.toKey("active")) 
              match gotIt with 
              | g when g.HasValue -> return! this.getJob (g |> fromValueI64)
              | _ -> 
                  do! onNewJob |> Async.AwaitEvent |> Async.Ignore
                  return! getNextJob ()
  