anchor.diff:      let lookAhead n =
           getOptic ParserState.InputStream_
           <!> List.tryItem n
  +
  +    let getLookAheadBuffer n x =
  +        let x = x ^. ParserState.InputStream_ |> StateResult.eval (List.take (int n))
  +        match x with
  +        | Ok (x, _) -> x |> String.ofList
  +        | Bad _ -> ""
   
       let consumeBuffer n = state {
           let! len = getOptic ParserState.InputStream_ <!> eval (List.length())
  
positive.code:         | _ -> do ()
      }
  
      type DFAParserState = {}
  
      let lookAheadDFA pos grammar x =
          match x with
          | [] -> {Data = TokenData ""; Position = pos; Symbol = grammar |> Grammar.firstSymbolOfType Error |> Option.v}
  
negative.code: 
  open Aether
  open Aether.Operators
  open Chessie.ErrorHandling
  open Farkle
  open Farkle.Grammar
  open Farkle.Monads
  