anchor.diff:  /// <seealso cref="Production{T}"/>
   // This type's naming differs from the other interfaces, because there is
   // an module that must be called `Production` (so that it has a C#-friendly name).
  -type AbstractProduction =
  +and internal AbstractProduction =
       /// The members of the production.
       abstract Members: Symbol ImmutableArray
  -    abstract Fuse: obj [] -> obj
  -
  -type Symbol = Choice<Terminal, Nonterminal>
  +    abstract Fuse: (obj [] -> obj)
  +
  +and internal Symbol = Choice<Terminal, Nonterminal>
   
   /// <summary>An object representing a grammar created by Farkle.Builder.
   /// It can be converted to <see cref="RuntimeFarkle{T}"/>.</summary>
  
positive.code: [<CompiledName("AbstractNonterminal")>]
  /// <summary>The base, untyped interface of <see cref="Nonterminal{T}"/>.</summary>
  /// <seealso cref="Nonterminal{T}"/>
  type Nonterminal =
      inherit DesigntimeFarkle
      /// The productions of the nonterminal.
      abstract Productions: AbstractProduction list
  
negative.code:         member x.Transformer = x.Transformer
      interface DesigntimeFarkle with
          member x.Name = x._Name
          member __.Metadata = GrammarMetadata.Default
      interface DesigntimeFarkle<'T>
  
  /// Functions to create `Terminal`s.
  