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