anchor.diff:  open FSharpx.Prelude
   open FsGll.InputStream
   
  -//let trace s = printfn "%s" s
  +//let trace (s: Lazy<string>) = printfn "%s" s.Value
   let trace _ = ()
   
   let mutable foundInDone = 0
  
positive.code:                 //notFoundInDone <- notFoundInDone + 1
                  _queue.Add(tuple)
                  parsers.Add(p) |> ignore
                  trace(lazy(sprintf "Added: %A *=> %A\n" tuple))
                  //queuePushed <- queuePushed + 1
  
              match _done.TryGetValue(s) with
  
negative.code:         let ind = _queue.Count - 1
          let tup = _queue.[ind]
          _queue.RemoveAt ind |> ignore
          trace <| lazy (sprintf "Removed: %A" tup)
          tup
  
      let step() =
  