anchor.diff:  
       open State
   
  -    let lookAhead n =
  -        getOptic ParserState.InputStream_
  -        <!> List.tryItem n
  -
       let getLookAheadBuffer n x =
  -        let x = x ^. ParserState.InputStream_ |> StateResult.eval (List.take (int n))
  +        let n = System.Math.Min(int n, Collections.List.length x)
  +        let x = x |> StateResult.eval (List.take n)
           match x with
           | Ok (x, _) -> x |> String.ofList
           | Bad _ -> ""
  
positive.code:     let consumeBuffer n = state {
          let! len = getOptic ParserState.InputStream_ <!> eval (List.length())
          let consumeSingle = state {
              let! x = lookAhead 1
              match x with
              | Some x ->
                  do! mapOptic ParserState.InputStream_ List.tail // We know that the list has items here.
  
negative.code: // Copyright (c) 2017 Theodore Tsirpanis
  //
  // This software is released under the MIT License.
  // https://opensource.org/licenses/MIT
  
  