anchor.diff:      /// Creates an asynchronous sequence that lazily takes element from an
       /// input synchronous sequence and returns them one-by-one.
       [<CompiledName("OfSeq")>]
  -    let ofSeq (input : seq<'T>) =
  +    let ofSeq (input : seq<'T>) : AsyncSeq<'T> =
  +        // Preconditions
  +        checkNonNull "input" input
  +
           asyncSeq {
           for el in input do
               yield el }
  
positive.code:     /// be asked for the next element after the processing of an element completes).
      [<CompiledName("ChooseAsync")>]
      let chooseAsync chooser (input : AsyncSeq<'T>) : AsyncSeq<'U> =
          asyncSeq {
          for itm in input do
              let! v = chooser itm
  
negative.code:     /// predicate holds. The predicate is evaluated asynchronously.
      [<CompiledName("TakeWhileAsync")>]
      let rec takeWhileAsync predicate (input : AsyncSeq<'T>) : AsyncSeq<'T> =
          // Preconditions
          checkNonNull "input" input
  
          async {
          let! v = input
          match v with
  