anchor.diff:  
               // loop until swapping
               while not this.Swapping && not this.Terminated do
  -                Thread.Sleep 0
  +                Thread.Yield () |> ignore<bool>
   
               // swap
               renderer.Swap ()
  
positive.code:             let thread = Thread this.Run
              threadOpt <- Some thread
              thread.Start ()
              while not this.Started do Thread.Sleep 0
  
          member this.EnqueueMessage message =
              lock messagesLock (fun () ->
  
negative.code:                 lock swapLock (fun () ->
                      if swap then raise (InvalidOperationException "Redundant Swap calls.")
                      swap <- true)
                  while this.Swapping do Thread.Yield () |> ignore<bool>
              | None -> () // ignore invalid swap order
  
          member this.Terminate () =
  