anchor.diff:         .Take(1)
          .SubscribeOn(ThreadPoolScheduler.Instance)
          .Subscribe(fun x ->
  -         lock result <| fun () ->
  +         lock result ^ fun () ->
              result := x
              Monitor.Pulse result) |> ignore
  -      lock result <| fun () ->
  +      lock result ^ fun () ->
           while !result < 0 do
             Monitor.Wait result |> ignore
         let stop = timer.Elapsed
  
positive.code:       let timer = Stopwatch.StartNew ()
        let result =
          pyramid m n
          |> Stream.skip (int64 n)
          |> Stream.get
          |> run
        let stop = timer.Elapsed
  
negative.code:        .Take(1)
         .SubscribeOn(ThreadPoolScheduler.Instance)
         .Subscribe (fun x ->
           lock result ^ fun () ->
             result := x
             Monitor.Pulse result) |> ignore
        lock result ^ fun () ->
          while !result < 0 do
            Monitor.Wait result |> ignore
        let stop = timer.Elapsed
  