anchor.diff:                      | res -> inbox.RemoveAt(n); res
   
           member x.ReceiveFromArrivalsUnsafe() =
  -            if arrivals.Count = 0 then None
  -            else Some(arrivals.Dequeue())
  +            if arrivals.Count = 0 then 
  +                None
  +            else 
  +                Some(arrivals.Dequeue())
   
           member x.ReceiveFromArrivals() = 
               lock syncRoot (fun () -> x.ReceiveFromArrivalsUnsafe())
  
positive.code:         let mutable tail = 0
  
          let SetCapacity(capacity) =
              let destinationArray = Array.zeroCreate capacity;
              if (size > 0) then 
                  if (head < tail) then 
                      System.Array.Copy(array, head, destinationArray, 0, size);
          
                  else
                      System.Array.Copy(array, head, destinationArray, 0, array.Length - head);
                      System.Array.Copy(array, 0, destinationArray, array.Length - head, tail);
              array <- destinationArray;
              head <- 0;
              tail <- if (size = capacity) then 0 else size;
  
          member x.Dequeue() =
              if (size = 0) then
                  failwith "Dequeue"
              let local = array.[head];
              array.[head] <- Unchecked.defaultof<'T>
              head <- (head + 1) % array.Length;
              size <- size - 1;
              local
  
          member this.Enqueue(item) =
              if (size = array.Length) then 
                  let capacity = int ((int64 array.Length * 200L) / 100L);
                  let capacity = max capacity (array.Length + 4)
                  SetCapacity(capacity);
              array.[tail] <- item;
              tail <- (tail + 1) % array.Length;
              size <- size + 1
  
          member x.Count = size
  
negative.code:                 else
  
                      let ctxt =
                          let cont a = ProtectUserCodeThenInvoke f a ctxt.aux.econt (fun p2 -> p2.Invoke ctxt)
                          { cont=cont;
                            aux = ctxt.aux
                          }
                      // Trampoline the continuation onto a new work item every so often 
                      ctxt.HijackCheckThenCall p1.Invoke ctxt)
  
          // Call the given function with exception protection, but first 
          // check for cancellation.
  