anchor.diff:              let! isGroupStackEmpty = State.getOptic ParserState.GroupStack_ |> State.map List.isEmpty
               match tokens with
               | [] ->
  -                let! newToken = produceToken grammar.DFA grammar.Groups |> (fun (StateResult x) -> x)
  -                match newToken with
  -                | Ok newToken ->
  -                    do! State.mapOptic ParserState.InputStack_ (List.cons newToken)
  -                    if newToken.Symbol = EndOfFile && not isGroupStackEmpty then
  -                        return GroupError
  -                    else
  -                        return TokenRead newToken
  -                | Result.Error x -> return LexicalError x.[0]
  +                let! newToken = produceToken grammar.DFA grammar.Groups
  +                do! State.mapOptic ParserState.InputStack_ (List.cons newToken)
  +                if newToken.Symbol = EndOfFile && not isGroupStackEmpty then
  +                    return GroupError
  +                else
  +                    return TokenRead newToken
               | newToken :: xs ->
                   match newToken.Symbol with
                   | Noise _ ->
  
positive.code:                         do! consumeBuffer 1
                      return! produceToken dfa groups
      }
  
      let parseLALR lalrStates token = state {
          let (StateResult impl) = sresult {
  
negative.code:             match x with
              | [] ->
                  match lastAccept with
                  | Some x -> input |> getLookAheadBuffer lastAccPos |> newToken x
                  | None -> newToken EndOfFile ""
              | x :: xs ->
                  let newDFA =
                      trans.TryFind(currState)
  