anchor.diff:  and Group = {
       /// The name of the group.
       Name: string
  -    /// The index of the group as it appears on the grammar file.
  -    Index: uint32
       /// The symbol that represents the group's content.
       ContainerSymbol: Choice<Terminal, Noise>
       /// The symbol that represents the group's start.
  
positive.code:     | Accept of index: uint32 * Choice<Terminal,Noise> * DFAEdge
  
  /// A symbol which is produced by a concatenation of other `LALRSymbol`s, as the LALR parser dictates.
  type NonTerminal = NonTerminal of index: uint32 * name: string * productions: Production ImmutableArray
  
  /// An array of `LALRSymbol`s that can produce a specific `NonTerminal`.
  and Production = {
      /// The index of the production.
      Index: uint32
      /// The `Nonterminal` the production is referring to.
      HeadSymbol: Indexed<NonTerminal>
      /// The `LALRSymbol`s the production is made of.
      Children: LALRSymbol ImmutableArray
  }
  
negative.code: type Noise = Noise of name: string
  
  /// A symbol signifying the end of a group.
  type GroupEnd = GroupEnd of name: string
  
  /// A symbol signifying the start of a group.
  type GroupStart = GroupStart of name: string * groupIndex: Indexed<Group>
  
  /// A lexical group.
  /// In GOLD, lexical groups are used for situations where a number
  