anchor.diff:  
               // loop until submission exists
               while Option.isNone this.SubmissionOpt && not this.Terminated do
  -                Thread.Sleep 0
  +                Thread.Yield () |> ignore<bool>
   
               // receive submission
               let (eyePosition, eyeSize, eyeMargin) =
  
positive.code:                 lock swapLock (fun () ->
                      if swap then raise (InvalidOperationException "Redundant Swap calls.")
                      swap <- true)
                  while this.Swapping do Thread.Sleep 0
              | None -> () // ignore invalid swap order
  
          member this.Terminate () =
  
negative.code: 
              // loop until swapping
              while not this.Swapping && not this.Terminated do
                  Thread.Yield () |> ignore<bool>
  
              // swap
              renderer.Swap ()
  