anchor.diff:      return! !streams |> xs2yJ
     }
   
  -  let rec ofAlt xA = xA |>>?* fun x -> Cons (x, ofAlt xA)
  +  let rec ofAlt xA = xA |>>* fun x -> Cons (x, ofAlt xA)
   
     let rec merge ls rs =
       mergeSwap ls rs <|>* mergeSwap rs ls
  
positive.code:   let one x = Alt.always (Cons (x, zero<_>)) :> Streams<'x>
  
    let inline memo x = Promise.Now.delayAsAlt x
    let inline (>>=?*) x f = x >>=? f |> memo
    let inline (|>>?*) x f = x |>>? f |> memo
    let inline (<|>*) x y = x <|> y |> memo
  
    let rec ofEnum (xs: IEnumerator<'x>) = memo << Job.thunk <| fun () ->
  
negative.code:        | Cons (l, ls) -> Cons (l, merge rs ls)
  
    let rec append (ls: Streams<_>) (rs: Streams<_>) =
      ls >>=* function
         | Nil -> upcast rs
         | Cons (l, ls) -> cons l (append ls rs)
  
    let rec choose x2yO xs =
      xs >>=* function
         | Nil -> nil
         | Cons (x, xs) ->
           match x2yO x with
  