anchor.diff:  module Rx =
     let split xss =
       xss
  -    |> Seq.collect (fun (xs: IObservable<_>) ->
  -       [xs.Select(fun x ->  x      / 2)
  -        xs.Select(fun x -> (x + 1) / 2)])
  +    |> Seq.collect ^ fun (xs: IObservable<_>) ->
  +         [xs.Select(fun x ->  x      / 2)
  +          xs.Select(fun x -> (x + 1) / 2)]
     let join xss =
       xss
       |> Seq.pairwise
  -    |> Seq.map (fun (xs: IObservable<_>, ys: IObservable<_>) ->
  -       Observable.Zip(xs, ys, fun x y -> x+y))
  +    |> Seq.map ^ fun (xs: IObservable<_>, ys: IObservable<_>) ->
  +         Observable.Zip(xs, ys, fun x y -> x+y)
   
     let ints n =
       Observable.Generate(0, (fun x -> x <= n), (fun x -> x+1), (fun x -> x))
  
positive.code: open System.Threading
  open Hopac
  open Hopac.Infixes
  
  module Stream =
    open Stream
  
negative.code:       let timer = Stopwatch.StartNew ()
        let result =
          pyramid m n
          |> Stream.skip ^ int64 n
          |> Stream.get
          |> run
        let stop = timer.Elapsed
  