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 |> fromValueString = name)
  +        hash |> Seq.tryFind (fun h -> h.Name |> string = name)
       
       /// calc unix time from millisecs since 1-1-1970
       let toUnixTime (dt:DateTime) = (dt - epoch).TotalMilliseconds
  
positive.code:     let toValueI32 (x:int32) = RedisValue.op_Implicit(x:int32)
      /// make RedisValue from float
      let toValueFloat (x:float) = RedisValue.op_Implicit(x:float)
      ///get int from RedisValue
      let fromValueI32 (x:RedisValue):int = x |> int
      ///get int64 from RedisValue
      let fromValueI64 (x:RedisValue):int64 = x |> int64
      ///get string from RedisValue
      let fromValueString (x:RedisValue):string = x |> string
      ///get float from RedisValue
      let fromValueFloat (x:RedisValue):float = x |> float
      /// get RedisValue from RedisKey with a long in the middle
      let valueToKeyLong (x:RedisValue):RedisKey = RedisKey.op_Implicit(int64(x).ToString ())
      /// get RedisChannel from RedisKey
  
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 |> int64)
              | _ -> 
                  do! onNewJob |> Async.AwaitEvent |> Async.Ignore
                  return! getNextJob ()
  