anchor.diff:  /// <seealso cref="Nonterminal{T}"/>
   type Nonterminal =
       inherit DesigntimeFarkle
  -    abstract Id: Guid
  +    /// The productions of the nonterminal.
       abstract Productions: Production list
   
   [<CompiledName("AbstractProduction")>]
   /// <summary>The base, untyped interface of <see cref="Production{T}"/>.</summary>
   /// <seealso cref="Production{T}"/>
   type Production =
  +    /// The members of the production.
       abstract Members: Symbol ImmutableArray
       abstract Fuse: obj [] -> obj
   
  
positive.code: /// <remarks>User code must not implement this interface, or an error may be raised.</remarks>
  /// <seealso cref="DesigntimeFarkle{T}"/>
  type DesigntimeFarkle =
      abstract Name: string
  
  [<CompiledName("AbstractTerminal")>]
  /// <summary>The base, untyped interface of <see cref="Terminal{T}"/>.</summary>
  /// <seealso cref="Terminal{T}"/>
  type Terminal =
      inherit DesigntimeFarkle
      abstract Id: Guid
      abstract Regex: Regex
      abstract Transformer: T<obj>
  
  [<CompiledName("AbstractNonterminal")>]
  
negative.code: type ProductionBuilder<'T1>(members, idx1) =
      inherit AbstractProductionBuilder<ProductionBuilder<'T1>>()
      override __.Append(sym) = ProductionBuilder<_>(Symbol.append members sym, idx1)
      member __.Extend(df: DesigntimeFarkle<'T2>) = ProductionBuilder<'T1, 'T2>(Symbol.append members df, idx1, members.Count)
      member __.Finish(f: 'T1 -> 'TOutput) : Production<'TOutput> = {
          Members = members.ToImmutableArray()
          Fuse = fun arr -> f (arr.[idx1] :?> _) |> box
  