anchor.diff:        | Cons (a2, t2) -> return Cons (Choice2Of2 a2, left a t2)
         | Nil -> return! a |> map Choice1Of2 }
   
  -    left
  +    left firstSeq secondSeq
   
     /// Buffer items from the async sequence into buffers of a specified size.
     /// The last buffer returned may be less than the specified buffer size.
  
positive.code: 
    /// Interleaves two async sequences into a resulting sequence. The provided
    /// sequences are consumed in lock-step.
    let interleave = 
  
      let rec left (a:AsyncSeq<'T>) (b:AsyncSeq<'U>) : AsyncSeq<Choice<_,_>> = async {
        let! a = a        
  
negative.code:   ///
    /// The aggregation function is asynchronous (and the input sequence will
    /// be asked for the next element after the processing of an element completes).
    let rec scanAsync f (state:'State) (input : AsyncSeq<'T>) = asyncSeq {
      let! v = input
      match v with
      | Nil -> ()
  