anchor.diff:      [<CompiledName("ForceBackground")>]
       let forceBackground (lazyValue : Lazy<'T>) : unit =
           // Evaluate the lazily-initialized value on a .NET ThreadPool thread.
  -        let enqueuedInThreadPool =
  -            ThreadPool.QueueUserWorkItem (forceCallback<'T>, lazyValue)
  -
           // If the callback couldn't be enqueued, raise an exception.
  -        if not enqueuedInThreadPool then
  +        if not <| ThreadPool.QueueUserWorkItem (forceCallback<'T>, lazyValue) then
               failwith "The lazily-evaluated value could not be forced in the background, \
                         because the evaluation callback could not be enqueued in the .NET TheadPool."
   
  
positive.code:             let initCompleted = new ManualResetEvent (false)
  
              // Evaluate the lazily-initialized value on a .NET ThreadPool thread.
              let enqueuedInThreadPool =
                  ThreadPool.QueueUserWorkItem (tryForceCallback<'T>, (lazyValue, initCompleted))
  
              if not enqueuedInThreadPool then
                  // If the callback couldn't be enqueued in the ThreadPool, return None instead of raising an exn.
                  // TODO : Determine if this is the best strategy, or if it would be better to raise an exn instead.
                  //failwith "The callback to evaluate the lazily-initialized value could not be enqueued in the .NET ThreadPool."
  
negative.code:         let lazyValue = Lazy.Create creator
  
          // Evaluate the lazily-initialized value on a .NET ThreadPool thread.
          if ThreadPool.QueueUserWorkItem (forceCallback<'T>, lazyValue) then
              // Return the lazy value. The value will be evaluated in the threadpool,
              // so it'll either be ready immediately when the code consuming this lazy value
              // calls .Force(), or the calling thread will block until the value is available.
  