anchor.diff:                  let! nesting = readNestedGroups xs
                   return {
                       Name = name
  -                    Index = uint32 index
  +                    Index = index
                       ContainerSymbol = containerSymbol
                       StartSymbol = startSymbol
                       EndSymbol = endSymbol
  
positive.code:                 |> readToEnd false
                  >> Option.map Map.ofSeq
              function
              | UInt16 index :: Empty :: xs -> readLALRAction xs |> Option.map (fun actions -> {Index = uint32 index; Actions = actions})
              | _ -> None
  
  
  
negative.code:                 | _ -> None
                  |> readToEnd false
              function
              | Boolean false :: UInt16 _ :: Empty :: xs ->
                  xs
                  |> readDFAEdges
                  |> Option.map (fun edges -> (index, edges) |> DFAContinue)
              | Boolean true :: UInt16 acceptIndex :: Empty :: xs -> maybe {
                  let! edges = readDFAEdges xs
                  let! acceptSymbol = fSymbol acceptIndex
                  return DFAAccept (index, (acceptSymbol, edges))
                  }
              | _ -> None
  
          let readLALRState fSymbol fProduction fLALR index =
              let readLALRAction =
                  function
                  | UInt16 symbolIndex :: xs -> maybe {
  